org.eclipse.ocl.examples.pivot.ecore
Class EObjectProperty

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.ecore.EObjectProperty
All Implemented Interfaces:
CallableImplementation

public class EObjectProperty
extends java.lang.Object
implements CallableImplementation

An EObjectProperty provides the standard CallableImplementation to implement a PropertyCallExp. When constructed with a null specification, the call just accesses the property field in a source object. When constructed with a non-null specification, the specification defines the access algorithm, which if provided as an OpaqueExpression is lazily compiled from OCL source text.


Field Summary
protected  org.eclipse.emf.ecore.EStructuralFeature eFeature
           
protected  ValueSpecification specification
           
 
Constructor Summary
EObjectProperty(org.eclipse.emf.ecore.EStructuralFeature eFeature, ValueSpecification specification)
           
 
Method Summary
 Value evaluate(EvaluationVisitor evaluationVisitor, Value sourceValue, CallExp callExp)
           
 org.eclipse.emf.common.util.Diagnostic validate(TypeManager typeManager, CallExp callExp)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eFeature

protected final org.eclipse.emf.ecore.EStructuralFeature eFeature

specification

protected ValueSpecification specification
Constructor Detail

EObjectProperty

public EObjectProperty(org.eclipse.emf.ecore.EStructuralFeature eFeature,
                       ValueSpecification specification)
Method Detail

evaluate

public Value evaluate(EvaluationVisitor evaluationVisitor,
                      Value sourceValue,
                      CallExp callExp)
Description copied from interface: CallableImplementation

Specified by:
evaluate in interface CallableImplementation

validate

public org.eclipse.emf.common.util.Diagnostic validate(TypeManager typeManager,
                                                       CallExp callExp)
Specified by:
validate in interface CallableImplementation