org.eclipse.emf.ocl.expressions.impl
Class EvaluationVisitorImpl

java.lang.Object
  extended by org.eclipse.emf.ocl.expressions.util.AbstractVisitor
      extended by org.eclipse.emf.ocl.expressions.impl.EvaluationVisitorImpl
All Implemented Interfaces:
EvaluationVisitor, Visitor

public class EvaluationVisitorImpl
extends AbstractVisitor
implements EvaluationVisitor

An evaluation visitor implementation for OCL expressions.

Note that this class is not intended to be used or extended by clients. Use the EvaluationVisitor interface, instead.


Method Summary
 Object evaluateAnyIterator(IteratorExp ie, Collection coll)
           
 Object evaluateClosure(IteratorExp ie, Collection coll)
           
 Object evaluateCollectIterator(IteratorExp ie, Collection coll)
           
 Object evaluateCollectNestedIterator(IteratorExp ie, Collection coll)
           
 Object evaluateExistsIterator(IteratorExp ie, Collection coll)
           
 Object evaluateForAllIterator(IteratorExp ie, Collection coll)
           
 Object evaluateIsUnique(IteratorExp ie, Collection coll)
           
 Object evaluateOneIterator(IteratorExp ie, Collection coll)
           
 Object evaluateRejectIterator(IteratorExp ie, Collection coll)
           
 Object evaluateSelectIterator(IteratorExp ie, Collection coll)
           
 Object evaluateSortedByIterator(IteratorExp ie, Collection coll)
           
 EvaluationEnvironment getEvalEnvironment()
           
 Map getExtentMap()
           
static EvaluationVisitor getInstance(EvaluationEnvironment env, Map extentMap)
           
static Method getJavaMethodFor(EOperation oper)
          Returns the java method that corresponds to the supplied EOperation
protected  Boolean oclIsKindOf(Object value, Object typeArg)
          Checks whether the supplied value is an instance of the supplied type or one of its super types.
protected  Boolean oclIsTypeOf(Object value, Object typeArg)
          Checks whether the supplied object is an instance of the supplied type
 void setEvalEnvironment(EvaluationEnvironment newEnv)
          Sets the environment to the supplied value.
 void setExtentMap(Map extentMap)
          Sets the extent map to the supplied value.
 String toString()
          Returns a string representation of this visitor
 Object visitAssociationClassCallExp(AssociationClassCallExp ae)
          Callback for an AssociationClassCallExp visit.
 Object visitBooleanLiteralExp(BooleanLiteralExp bl)
          Callback for a BooleanLiteralExp visit.
 Object visitCollectionLiteralExp(CollectionLiteralExp cl)
          Callback for a CollectionLiteralExp visit.
 Object visitEnumLiteralExp(EnumLiteralExp el)
          Callback for an EnumLiteralExp visit.
 Object visitIfExp(IfExp ie)
          Callback for an IfExp visit.
 Object visitIntegerLiteralExp(IntegerLiteralExp il)
          Callback for an IntegerLiteralExp visit.
 Object visitInvalidLiteralExp(InvalidLiteralExp il)
           
 Object visitIterateExp(IterateExp ie)
          Callback for an IterateExp visit.
 Object visitIteratorExp(IteratorExp ie)
          Callback for an IteratorExp visit.
 Object visitLetExp(LetExp l)
          Callback for LetExp visit.
 Object visitMessageExp(MessageExp m)
           
 Object visitNullLiteralExp(NullLiteralExp il)
           
 Object visitOperationCallExp(OperationCallExp oc)
          Callback for an OperationCallExp visit.
 Object visitPropertyCallExp(PropertyCallExp pc)
          Callback for a PropertyCallExp visit.
 Object visitRealLiteralExp(RealLiteralExp rl)
          Callback for a RealLiteralExp visit.
 Object visitStateExp(StateExp s)
           
 Object visitStringLiteralExp(StringLiteralExp sl)
          Callback for a StringLiteralExp visit.
 Object visitTupleLiteralExp(TupleLiteralExp tl)
          Callback for a TupleLiteralExp visit.
 Object visitTupleLiteralPart(TupleLiteralPart tp)
           
 Object visitTypeExp(TypeExp t)
          Callback for a TypeExp visiy.
 Object visitUnspecifiedValueExp(UnspecifiedValueExp uv)
          Callback for an UnspecifiedValueExp visit.
 Object visitVariable(Variable vd)
          Callback for a VariableDeclaration visit.
 Object visitVariableExp(VariableExp v)
          Callback for a VariableExp visit.
 
Methods inherited from class org.eclipse.emf.ocl.expressions.util.AbstractVisitor
visitConstraint
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.emf.ocl.expressions.Visitor
visitConstraint
 

Method Detail

getInstance

public static EvaluationVisitor getInstance(EvaluationEnvironment env,
                                            Map extentMap)

getEvalEnvironment

public EvaluationEnvironment getEvalEnvironment()
Specified by:
getEvalEnvironment in interface EvaluationVisitor
Returns:
the environment

getExtentMap

public Map getExtentMap()
Specified by:
getExtentMap in interface EvaluationVisitor
Returns:
the extent map

setEvalEnvironment

public void setEvalEnvironment(EvaluationEnvironment newEnv)
Sets the environment to the supplied value.

Specified by:
setEvalEnvironment in interface EvaluationVisitor
Parameters:
newEnv - the new environment for this visitor.

setExtentMap

public void setExtentMap(Map extentMap)
Sets the extent map to the supplied value.

Specified by:
setExtentMap in interface EvaluationVisitor
Parameters:
extentMap - the new extent map

toString

public String toString()
Returns a string representation of this visitor

Overrides:
toString in class Object

visitOperationCallExp

public Object visitOperationCallExp(OperationCallExp oc)
Callback for an OperationCallExp visit.

Specified by:
visitOperationCallExp in interface Visitor
Overrides:
visitOperationCallExp in class AbstractVisitor

getJavaMethodFor

public static Method getJavaMethodFor(EOperation oper)
Returns the java method that corresponds to the supplied EOperation

Parameters:
oper - the operation
Returns:
a java method

visitIterateExp

public Object visitIterateExp(IterateExp ie)
Callback for an IterateExp visit.

Specified by:
visitIterateExp in interface Visitor
Overrides:
visitIterateExp in class AbstractVisitor

visitIteratorExp

public Object visitIteratorExp(IteratorExp ie)
Callback for an IteratorExp visit.

Specified by:
visitIteratorExp in interface Visitor
Overrides:
visitIteratorExp in class AbstractVisitor

evaluateExistsIterator

public Object evaluateExistsIterator(IteratorExp ie,
                                     Collection coll)

evaluateForAllIterator

public Object evaluateForAllIterator(IteratorExp ie,
                                     Collection coll)

evaluateCollectNestedIterator

public Object evaluateCollectNestedIterator(IteratorExp ie,
                                            Collection coll)

evaluateCollectIterator

public Object evaluateCollectIterator(IteratorExp ie,
                                      Collection coll)

evaluateSelectIterator

public Object evaluateSelectIterator(IteratorExp ie,
                                     Collection coll)

evaluateRejectIterator

public Object evaluateRejectIterator(IteratorExp ie,
                                     Collection coll)

evaluateOneIterator

public Object evaluateOneIterator(IteratorExp ie,
                                  Collection coll)

evaluateAnyIterator

public Object evaluateAnyIterator(IteratorExp ie,
                                  Collection coll)

evaluateSortedByIterator

public Object evaluateSortedByIterator(IteratorExp ie,
                                       Collection coll)

evaluateIsUnique

public Object evaluateIsUnique(IteratorExp ie,
                               Collection coll)

evaluateClosure

public Object evaluateClosure(IteratorExp ie,
                              Collection coll)

visitEnumLiteralExp

public Object visitEnumLiteralExp(EnumLiteralExp el)
Callback for an EnumLiteralExp visit. Get the referred enum literal and return it as an Integer.

Specified by:
visitEnumLiteralExp in interface Visitor
Overrides:
visitEnumLiteralExp in class AbstractVisitor
Parameters:
el - the enumeration literal expresion
Returns:
the enumeration literal as an Integer

visitVariableExp

public Object visitVariableExp(VariableExp v)
Callback for a VariableExp visit.

Specified by:
visitVariableExp in interface Visitor
Overrides:
visitVariableExp in class AbstractVisitor
Parameters:
v - the variable expression
Returns:
the value of the variable

visitPropertyCallExp

public Object visitPropertyCallExp(PropertyCallExp pc)
Callback for a PropertyCallExp visit. Evaluates the source of the expression and then reflectively gets the value of the property on the result. For example, in "self.foo", "self" is the source and would be evaluated first, then the value of the property "foo" would be accessed on that object.

Specified by:
visitPropertyCallExp in interface Visitor
Overrides:
visitPropertyCallExp in class AbstractVisitor

visitAssociationClassCallExp

public Object visitAssociationClassCallExp(AssociationClassCallExp ae)
Callback for an AssociationClassCallExp visit. Evaluates the source of the expression and then reflectively gets the value of the reference on the result. For example, in "self.foo", "self" is the source and would be evaluated first, then the value of the reference "foo" would be derived on that object.

Specified by:
visitAssociationClassCallExp in interface Visitor
Overrides:
visitAssociationClassCallExp in class AbstractVisitor

visitVariable

public Object visitVariable(Variable vd)
Callback for a VariableDeclaration visit.

Specified by:
visitVariable in interface Visitor
Overrides:
visitVariable in class AbstractVisitor

visitIfExp

public Object visitIfExp(IfExp ie)
Callback for an IfExp visit.

Specified by:
visitIfExp in interface Visitor
Overrides:
visitIfExp in class AbstractVisitor

visitTypeExp

public Object visitTypeExp(TypeExp t)
Callback for a TypeExp visiy.

Specified by:
visitTypeExp in interface Visitor
Overrides:
visitTypeExp in class AbstractVisitor

visitStateExp

public Object visitStateExp(StateExp s)
Specified by:
visitStateExp in interface Visitor
Overrides:
visitStateExp in class AbstractVisitor

visitMessageExp

public Object visitMessageExp(MessageExp m)
Specified by:
visitMessageExp in interface Visitor
Overrides:
visitMessageExp in class AbstractVisitor

visitUnspecifiedValueExp

public Object visitUnspecifiedValueExp(UnspecifiedValueExp uv)
Callback for an UnspecifiedValueExp visit.

Specified by:
visitUnspecifiedValueExp in interface Visitor
Overrides:
visitUnspecifiedValueExp in class AbstractVisitor

visitIntegerLiteralExp

public Object visitIntegerLiteralExp(IntegerLiteralExp il)
Callback for an IntegerLiteralExp visit.

Specified by:
visitIntegerLiteralExp in interface Visitor
Overrides:
visitIntegerLiteralExp in class AbstractVisitor
Returns:
the value of the integer literal as a java.lang.Integer.

visitRealLiteralExp

public Object visitRealLiteralExp(RealLiteralExp rl)
Callback for a RealLiteralExp visit.

Specified by:
visitRealLiteralExp in interface Visitor
Overrides:
visitRealLiteralExp in class AbstractVisitor
Returns:
the value of the real literal as a java.lang.Double.

visitStringLiteralExp

public Object visitStringLiteralExp(StringLiteralExp sl)
Callback for a StringLiteralExp visit.

Specified by:
visitStringLiteralExp in interface Visitor
Overrides:
visitStringLiteralExp in class AbstractVisitor
Returns:
the value of the string literal as a java.lang.String.

visitBooleanLiteralExp

public Object visitBooleanLiteralExp(BooleanLiteralExp bl)
Callback for a BooleanLiteralExp visit.

Specified by:
visitBooleanLiteralExp in interface Visitor
Overrides:
visitBooleanLiteralExp in class AbstractVisitor
Returns:
the value of the boolean literal as a java.lang.Boolean.

visitInvalidLiteralExp

public Object visitInvalidLiteralExp(InvalidLiteralExp il)
Specified by:
visitInvalidLiteralExp in interface Visitor
Overrides:
visitInvalidLiteralExp in class AbstractVisitor

visitNullLiteralExp

public Object visitNullLiteralExp(NullLiteralExp il)
Specified by:
visitNullLiteralExp in interface Visitor
Overrides:
visitNullLiteralExp in class AbstractVisitor

visitLetExp

public Object visitLetExp(LetExp l)
Callback for LetExp visit.

Specified by:
visitLetExp in interface Visitor
Overrides:
visitLetExp in class AbstractVisitor

visitCollectionLiteralExp

public Object visitCollectionLiteralExp(CollectionLiteralExp cl)
Callback for a CollectionLiteralExp visit.

Specified by:
visitCollectionLiteralExp in interface Visitor
Overrides:
visitCollectionLiteralExp in class AbstractVisitor

visitTupleLiteralExp

public Object visitTupleLiteralExp(TupleLiteralExp tl)
Callback for a TupleLiteralExp visit.

Specified by:
visitTupleLiteralExp in interface Visitor
Overrides:
visitTupleLiteralExp in class AbstractVisitor
Parameters:
tl - tuple literal expression
Returns:
String

visitTupleLiteralPart

public Object visitTupleLiteralPart(TupleLiteralPart tp)
Specified by:
visitTupleLiteralPart in interface Visitor
Overrides:
visitTupleLiteralPart in class AbstractVisitor

oclIsTypeOf

protected Boolean oclIsTypeOf(Object value,
                              Object typeArg)
Checks whether the supplied object is an instance of the supplied type

Parameters:
value - the value to check
typeArg - the type to check
Returns:
true if the object is an instance of the type, false otherwise.

oclIsKindOf

protected Boolean oclIsKindOf(Object value,
                              Object typeArg)
Checks whether the supplied value is an instance of the supplied type or one of its super types.

Parameters:
value - the value to check
typeArg - the type to check
Returns:
true iff the value is of the type or one of its super types.

Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.