org.eclipse.ocl.examples.library.executor
Class ReflectiveFragment

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.types.AbstractFragment
      extended by org.eclipse.ocl.examples.library.executor.ReflectiveFragment
All Implemented Interfaces:
DomainFragment
Direct Known Subclasses:
DomainReflectiveFragment, EcoreReflectiveFragment, PivotReflectiveFragment

public abstract class ReflectiveFragment
extends AbstractFragment

A ReflectiveFragment provides the description of the properties and operations defined by some class when accessed by the same or another class. The descriptions are normally built lazily and one name at a time using reflective access to some meta-model.


Field Summary
protected  java.util.Map<DomainOperation,LibraryFeature> operationMap
           
protected  java.util.Map<DomainProperty,LibraryFeature> propertyMap
           
 
Fields inherited from class org.eclipse.ocl.examples.domain.types.AbstractFragment
baseInheritance, derivedInheritance
 
Constructor Summary
ReflectiveFragment(DomainInheritance derivedInheritance, DomainInheritance baseInheritance)
           
 
Method Summary
 LibraryFeature getImplementation(DomainOperation baseOperation)
          Return the implementation of the operation within this fragment that has the same signature as staticOperation.
 java.lang.Iterable<? extends DomainOperation> getLocalOperations()
          Return the operations within this fragment in operation index order.
 java.lang.Iterable<? extends DomainProperty> getLocalProperties()
          Return the properties within this fragment in property index order.
 
Methods inherited from class org.eclipse.ocl.examples.domain.types.AbstractFragment
getBaseFragment, getBaseInheritance, getDerivedInheritance, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.examples.domain.elements.DomainFragment
getLocalOperation
 

Field Detail

operationMap

protected java.util.Map<DomainOperation,LibraryFeature> operationMap

propertyMap

protected java.util.Map<DomainProperty,LibraryFeature> propertyMap
Constructor Detail

ReflectiveFragment

public ReflectiveFragment(@NonNull
                          DomainInheritance derivedInheritance,
                          @NonNull
                          DomainInheritance baseInheritance)
Method Detail

getImplementation

@NonNull
public LibraryFeature getImplementation(@NonNull
                                                DomainOperation baseOperation)
Description copied from interface: DomainFragment
Return the implementation of the operation within this fragment that has the same signature as staticOperation. If there is no local overload, returns an inherited operation if unambiguous or OclAnyUnsupportedOperation.AMBIGUOUS if ambiguous.


getLocalOperations

@NonNull
public java.lang.Iterable<? extends DomainOperation> getLocalOperations()
Description copied from interface: DomainFragment
Return the operations within this fragment in operation index order.


getLocalProperties

@NonNull
public java.lang.Iterable<? extends DomainProperty> getLocalProperties()
Description copied from interface: DomainFragment
Return the properties within this fragment in property index order.