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.
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 |
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.