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)
           
 java.lang.Iterable<? extends DomainOperation> getLocalOperations()
           
 java.lang.Iterable<? extends DomainProperty> getLocalProperties()
           
protected abstract  DomainOperation getOperationOverload(DomainOperation baseOperation)
           
 
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
 

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)

getLocalOperations

@NonNull
public java.lang.Iterable<? extends DomainOperation> getLocalOperations()

getLocalProperties

@NonNull
public java.lang.Iterable<? extends DomainProperty> getLocalProperties()

getOperationOverload

@NonNull
protected abstract DomainOperation getOperationOverload(@NonNull
                                                                DomainOperation baseOperation)