org.omg.cwm.foundation.expressions
Interface ExpressionNode

All Superinterfaces:
Element, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject
All Known Subinterfaces:
ConstantNode, ElementNode, FeatureNode

public interface ExpressionNode
extends Element

All node types within an expression are derived from the ExpressionNode type. An expression is stored as a collection of instances of the subtypes of ExpressionNode arranged in a hierarchical fashion. The ExpressionNode instance at the top (or ?root?) of the hierarchy represents the value of the expression and serves as a starting point for expression evaluation. Refer to the descriptions of the subtypes of ExpressionNode (ElementNode, ConstantNode, and FeatureNode) for additional information about the representation of expressions. One important purpose for providing storage of expressions as a general feature of the CWM is to promote sharing them between tools and to provide a means for recording lineage relationships between components within expressions. Specific details of the implementation of expression operators are left to the implementing tools. When ExpressionNode is used as the type of an Attribute, an instance of the Attribute can contain either an expression tree as described here or a textual representation of the expression in body and language values of in an attribute of type Expression (defined ObjectModel). The expression attribute is provided for the latter usage. To obtain CWM?s sharing and lineage tracking features for elements within an expression, the expression must be represented as an expression hierarcy.


Method Summary
 Expression getExpression()
          Contains a textual representation of the expression relevant for this ExpressionNode instance.
 FeatureNode getFeatureNode()
           
 Classifier getType()
           
 void setExpression(Expression newValue)
          Contains a textual representation of the expression relevant for this ExpressionNode instance.
 void setFeatureNode(FeatureNode newValue)
           
 void setType(Classifier newValue)
           
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getExpression

public Expression getExpression()
                         throws javax.jmi.reflect.JmiException
Contains a textual representation of the expression relevant for this ExpressionNode instance.

setExpression

public void setExpression(Expression newValue)
                   throws javax.jmi.reflect.JmiException
Contains a textual representation of the expression relevant for this ExpressionNode instance.

getFeatureNode

public FeatureNode getFeatureNode()
                           throws javax.jmi.reflect.JmiException

setFeatureNode

public void setFeatureNode(FeatureNode newValue)
                    throws javax.jmi.reflect.JmiException

getType

public Classifier getType()
                   throws javax.jmi.reflect.JmiException

setType

public void setType(Classifier newValue)
             throws javax.jmi.reflect.JmiException


Copyright 1997-2005 by Object Management Group, Inc. (http://www.omg.org/), 250 First Ave. Needham, MA 02494 U.S.A. All rights reserved. Unless otherwise indicated, users may make a single copy of the contents, in whole or in part, of this web site strictly for personal, non-commercial use. In the event that all or part of this site is downloaded for personal use, users shall maintain all proprietary notices including copyright notices that appear on or in connection with that content. Other than creating a single copy of contents for personal use as described herein, users may not copy, reproduce, distribute, republish, download, display, post or transmit in any form or by any means, including but not limited to electronic, mechanical, photocopying, recording, or other means, any content found or linked to the OMG web site without the prior express written permission of OMG. Any unauthorized use of any content contained on the OMG web site may violate the copyright laws, trademark laws, laws relating to publicity and privacy, and other regulations and statutes in the U.S. and other countries.