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

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.values.util.ValuesUtil
      extended by org.eclipse.ocl.examples.domain.library.AbstractFeature
          extended by org.eclipse.ocl.examples.domain.library.AbstractProperty
              extended by org.eclipse.ocl.examples.pivot.ecore.EObjectProperty
All Implemented Interfaces:
LibraryFeature, LibraryProperty

public class EObjectProperty
extends AbstractProperty

An EObjectProperty provides the standard LibraryProperty 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  OpaqueExpression specification
           
 
Fields inherited from class org.eclipse.ocl.examples.domain.values.util.ValuesUtil
EMPTY_BAG, EMPTY_SET, FALSE_VALUE, INTEGER_MAX_VALUE, INTEGER_MIN_VALUE, INVALID_VALUE, LONG_MAX_VALUE, LONG_MIN_VALUE, NULL_STRING, NULL_VALUE, ONE_VALUE, TRUE_VALUE, UNLIMITED_VALUE, ZERO_VALUE
 
Constructor Summary
EObjectProperty(org.eclipse.emf.ecore.EStructuralFeature eFeature, OpaqueExpression specification)
           
 
Method Summary
 java.lang.Object evaluate(DomainEvaluator evaluator, TypeId returnTypeId, java.lang.Object sourceValue)
           
 
Methods inherited from class org.eclipse.ocl.examples.domain.values.util.ValuesUtil
asBagValue, asBoolean, asCollectionType, asCollectionValue, asInteger, asIntegerValue, asNavigableObject, asObject, asOrderedSetValue, asRealValue, asSequenceValue, asSetValue, asString, asTupleValue, asType, asUniqueCollectionValue, asUnlimitedNaturalValue, asValue, createBagAccumulatorValue, createBagOfEach, createBagRange, createBagValue, createCollectionAccumulatorValue, createInvalidValue, createObjectValue, createOrderedSetAccumulatorValue, createOrderedSetOfEach, createOrderedSetRange, createOrderedSetValue, createRange, createSequenceAccumulatorValue, createSequenceOfEach, createSequenceRange, createSequenceRange, createSequenceValue, createSetAccumulatorValue, createSetOfEach, createSetRange, createSetValue, createTupleOfEach, createTupleValue, createTupleValue, createTypeValue, getTypeName, initAllStatics, integerValueOf, integerValueOf, integerValueOf, integerValueOf, integerValueOf, isBoxed, isCollectionValue, isIntegerValue, isUnboxed, isUnlimited, oclToString, realValueOf, realValueOf, realValueOf, realValueOf, realValueOf, stringValueOf, throwInvalidValueException, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eFeature

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

specification

@Nullable
protected OpaqueExpression specification
Constructor Detail

EObjectProperty

public EObjectProperty(@NonNull
                       org.eclipse.emf.ecore.EStructuralFeature eFeature,
                       @Nullable
                       OpaqueExpression specification)
Method Detail

evaluate

@Nullable
public java.lang.Object evaluate(@NonNull
                                          DomainEvaluator evaluator,
                                          @NonNull
                                          TypeId returnTypeId,
                                          @Nullable
                                          java.lang.Object sourceValue)