/** * <copyright> * </copyright> * * $Id$ */ package orgomg.cwm.foundation.expressions; import org.eclipse.emf.common.util.EList; import orgomg.cwm.objectmodel.core.Feature; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Feature Node</b></em>'. * <!-- end-user-doc --> * * <!-- begin-model-doc --> * The FeatureNode class represents ExpressionNode instances that are features (i.e., attributes or operations) of some Classifier instance within the CWM. * * A FeatureNode with a null OperationArgument association represents either a parameter-less operation or an attribute value obtained from some StructuralFeature instance. * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link orgomg.cwm.foundation.expressions.FeatureNode#getFeature <em>Feature</em>}</li> * <li>{@link orgomg.cwm.foundation.expressions.FeatureNode#getArgument <em>Argument</em>}</li> * </ul> * </p> * * @see orgomg.cwm.foundation.expressions.ExpressionsPackage#getFeatureNode() * @model * @generated */ public interface FeatureNode extends ExpressionNode { /** * Returns the value of the '<em><b>Feature</b></em>' reference. * It is bidirectional and its opposite is '{@link orgomg.cwm.objectmodel.core.Feature#getFeatureNode <em>Feature Node</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Identifies the Feature (attribute or operation) which this FeatureNode instance represents. * <!-- end-model-doc --> * @return the value of the '<em>Feature</em>' reference. * @see #setFeature(Feature) * @see orgomg.cwm.foundation.expressions.ExpressionsPackage#getFeatureNode_Feature() * @see orgomg.cwm.objectmodel.core.Feature#getFeatureNode * @model opposite="featureNode" required="true" * @generated */ Feature getFeature(); /** * Sets the value of the '{@link orgomg.cwm.foundation.expressions.FeatureNode#getFeature <em>Feature</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Feature</em>' reference. * @see #getFeature() * @generated */ void setFeature(Feature value); /** * Returns the value of the '<em><b>Argument</b></em>' containment reference list. * The list contents are of type {@link orgomg.cwm.foundation.expressions.ExpressionNode}. * It is bidirectional and its opposite is '{@link orgomg.cwm.foundation.expressions.ExpressionNode#getFeatureNode <em>Feature Node</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Identifies the ExpressionNode instances that represent the actual arguments for this FeatureNode. If the argument reference is null, the FeatureNode is an attribute or parameter-less function or operation. * <!-- end-model-doc --> * @return the value of the '<em>Argument</em>' containment reference list. * @see orgomg.cwm.foundation.expressions.ExpressionsPackage#getFeatureNode_Argument() * @see orgomg.cwm.foundation.expressions.ExpressionNode#getFeatureNode * @model opposite="featureNode" containment="true" * @generated */ EList<ExpressionNode> getArgument(); } // FeatureNode