blob: 118dc64c9035e77f6d9f82af07dbee7bd18d3728 [file] [log] [blame]
/*
* Copyright (c) 2005, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - initial API and implementation
*
* $Id: ReadSelfAction.java,v 1.4 2006/04/05 13:49:57 khussey Exp $
*/
package org.eclipse.uml2.uml;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Read Self Action</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* Every action is ultimately a part of some behavior, which is in turn optionally attached in some way to the specification of a classifier; for example as the body of a method or as part of a state machine. When the behavior executes, it does so in the context of some specific host instance of that classifier. This action produces this host instance, if any, on its output pin. The type of the output pin is the classifier to which the behavior is associated in the user model.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.uml.ReadSelfAction#getResult <em>Result</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.uml.UMLPackage#getReadSelfAction()
* @model
* @generated
*/
public interface ReadSelfAction
extends Action {
/**
* Returns the value of the '<em><b>Result</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Gives the output pin on which the hosting object is placed.
*
* <!-- end-model-doc -->
* @return the value of the '<em>Result</em>' containment reference.
* @see #setResult(OutputPin)
* @see org.eclipse.uml2.uml.UMLPackage#getReadSelfAction_Result()
* @model containment="true" required="true" ordered="false"
* @generated
*/
OutputPin getResult();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.ReadSelfAction#getResult <em>Result</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Result</em>' containment reference.
* @see #getResult()
* @generated
*/
void setResult(OutputPin value);
/**
* Creates a new {@link org.eclipse.uml2.uml.OutputPin},with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', and sets the '<em><b>Result</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.OutputPin}, or <code>null</code>.
* @param type The '<em><b>Type</b></em>' for the new {@link org.eclipse.uml2.uml.OutputPin}, or <code>null</code>.
* @return The new {@link org.eclipse.uml2.uml.OutputPin}.
* @see #getResult()
* @generated
*/
OutputPin createResult(String name, Type type);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The action must be contained in an behavior that has a host classifier.
* self.context->size() = 1
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateContained(DiagnosticChain diagnostics, Map context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* If the action is contained in an behavior that is acting as the body of a method, then the operation of the method must not be static.
* true
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateNotStatic(DiagnosticChain diagnostics, Map context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The type of the result output pin is the host classifier.
* self.result.type = self.context
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateType(DiagnosticChain diagnostics, Map context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The multiplicity of the result output pin is 1..1.
* self.result.multiplicity.is(1,1)
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateMultiplicity(DiagnosticChain diagnostics, Map context);
} // ReadSelfAction