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

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.types.AbstractInheritance
      extended by org.eclipse.ocl.examples.library.executor.ExecutorType
All Implemented Interfaces:
DomainElement, DomainInheritance, DomainNamedElement, DomainNamespace, DomainType, Nameable, OCLValue, ExecutorTypeArgument
Direct Known Subclasses:
EcoreExecutorType

public abstract class ExecutorType
extends AbstractInheritance
implements DomainType, ExecutorTypeArgument

An ExecutorType defines a Type using a compact representation suitable for efficient execution and static construction.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance
AbstractInheritance.FragmentIterable
 
Field Summary
 
Fields inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance
evaluationPackage, flags, name, operationMap, ORDERED, propertyMap, UNIQUE
 
Fields inherited from interface org.eclipse.ocl.examples.domain.elements.DomainInheritance
EMPTY_ARRAY
 
Constructor Summary
ExecutorType(java.lang.String name, ExecutorPackage evaluationPackage, int flags, ExecutorTypeParameter... typeParameters)
           
 
Method Summary
 java.lang.Iterable<? extends DomainOperation> getAllOperations(FeatureFilter featureFilter)
           
 java.lang.Iterable<? extends DomainProperty> getAllProperties(FeatureFilter featureFilter)
           
 AbstractInheritance.FragmentIterable getAllSuperFragments()
          Return a depth ordered, OclAny-first, OclSelf-last, Iterable of all the super-adapters including this one.
 int getDepth()
          Return the inheritance depth of the target type: OclAny is at depth 0.
 ExecutorFragment getFragment(int fragmentNumber)
           
 int getIndex(int fragmentNumber)
           
 int getIndexes()
           
 java.util.List<? extends DomainOperation> getLocalOperations()
           
 java.util.List<? extends DomainProperty> getLocalProperties()
           
 java.util.List<? extends DomainType> getLocalSuperTypes()
           
 DomainProperty getMemberProperty(java.lang.String name)
           
 java.lang.String getMetaTypeName()
          Return the name of the meta-type of this type.
 java.util.List<? extends DomainProperty> getOwnedAttribute()
           
 java.util.List<? extends DomainOperation> getOwnedOperation()
           
 ExecutorFragment getSelfFragment()
           
 DomainStandardLibrary getStandardLibrary()
          Return the Standard Library managing the dispatch tables.
 AbstractInheritance.FragmentIterable getSuperFragments(int depth)
          Return an Iterable of all the super-inheritances at a specified depth, between 0 and getDepth() inclusive.
 DomainType getType()
           
 TypeId getTypeId()
          Return a unique StandardLibrary-independent identifier for this type.
 DomainTypeParameters getTypeParameters()
          Return the ordered list of type parameters of this type.
 void initFragments(ExecutorFragment[] fragments, int[] depthCounts)
           
 
Methods inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance
conformsTo, getCommonInheritance, getCommonType, getFragment, getInheritance, getMemberOperation, getName, getNormalizedType, getOclAnyInheritance, getOwnedInvariant, getOwnedRule, getPackage, initStatics, isEqualTo, isEqualToUnspecializedType, isInvalid, isOrdered, isSubInheritanceOf, isSuperInheritanceOf, isUndefined, isUnique, lookupImplementation, lookupLocalOperation, oclEquals, oclHashCode, specializeIn, 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.DomainType
conformsTo, createInstance, createInstance, getCommonType, getInheritance, getName, getNormalizedType, getOwnedInvariant, getPackage, isEqualTo, isEqualToUnspecializedType, isInvalid, isOrdered, isUnique, lookupImplementation, specializeIn
 
Methods inherited from interface org.eclipse.ocl.examples.domain.elements.DomainNamespace
getOwnedRule
 
Methods inherited from interface org.eclipse.ocl.examples.domain.values.OCLValue
oclEquals, oclHashCode
 

Constructor Detail

ExecutorType

public ExecutorType(@NonNull
                    java.lang.String name,
                    @NonNull
                    ExecutorPackage evaluationPackage,
                    int flags,
                    @NonNull
                    ExecutorTypeParameter... typeParameters)
Method Detail

getAllOperations

@NonNull
public java.lang.Iterable<? extends DomainOperation> getAllOperations(@Nullable
                                                                              FeatureFilter featureFilter)
Specified by:
getAllOperations in interface DomainInheritance

getAllProperties

@NonNull
public java.lang.Iterable<? extends DomainProperty> getAllProperties(@Nullable
                                                                             FeatureFilter featureFilter)
Specified by:
getAllProperties in interface DomainInheritance

getAllSuperFragments

@NonNull
public AbstractInheritance.FragmentIterable getAllSuperFragments()
Description copied from interface: DomainInheritance
Return a depth ordered, OclAny-first, OclSelf-last, Iterable of all the super-adapters including this one.

Specified by:
getAllSuperFragments in interface DomainInheritance

getDepth

public int getDepth()
Description copied from interface: DomainInheritance
Return the inheritance depth of the target type: OclAny is at depth 0.

Specified by:
getDepth in interface DomainInheritance

getFragment

public ExecutorFragment getFragment(int fragmentNumber)
Specified by:
getFragment in interface DomainInheritance

getIndex

public int getIndex(int fragmentNumber)
Specified by:
getIndex in interface DomainInheritance

getIndexes

public int getIndexes()
Specified by:
getIndexes in interface DomainInheritance

getLocalOperations

@NonNull
public java.util.List<? extends DomainOperation> getLocalOperations()
Specified by:
getLocalOperations in interface DomainType

getLocalProperties

@NonNull
public java.util.List<? extends DomainProperty> getLocalProperties()
Specified by:
getLocalProperties in interface DomainType

getLocalSuperTypes

@NonNull
public java.util.List<? extends DomainType> getLocalSuperTypes()
Specified by:
getLocalSuperTypes in interface DomainType

getMemberProperty

@Nullable
public DomainProperty getMemberProperty(@NonNull
                                                 java.lang.String name)
Specified by:
getMemberProperty in interface DomainInheritance

getMetaTypeName

@NonNull
public java.lang.String getMetaTypeName()
Description copied from interface: DomainType
Return the name of the meta-type of this type.

Specified by:
getMetaTypeName in interface DomainType

getOwnedAttribute

@NonNull
public java.util.List<? extends DomainProperty> getOwnedAttribute()
Specified by:
getOwnedAttribute in interface DomainType

getOwnedOperation

@NonNull
public java.util.List<? extends DomainOperation> getOwnedOperation()
Specified by:
getOwnedOperation in interface DomainType

getSelfFragment

@NonNull
public ExecutorFragment getSelfFragment()
Specified by:
getSelfFragment in interface DomainInheritance

getStandardLibrary

@NonNull
public DomainStandardLibrary getStandardLibrary()
Description copied from interface: DomainInheritance
Return the Standard Library managing the dispatch tables.

Specified by:
getStandardLibrary in interface DomainInheritance

getSuperFragments

@NonNull
public final AbstractInheritance.FragmentIterable getSuperFragments(int depth)
Description copied from interface: DomainInheritance
Return an Iterable of all the super-inheritances at a specified depth, between 0 and getDepth() inclusive.

Specified by:
getSuperFragments in interface DomainInheritance

getType

@NonNull
public DomainType getType()

getTypeId

@NonNull
public TypeId getTypeId()
Description copied from interface: DomainType
Return a unique StandardLibrary-independent identifier for this type.

Specified by:
getTypeId in interface DomainType

getTypeParameters

@NonNull
public DomainTypeParameters getTypeParameters()
Description copied from interface: DomainType
Return the ordered list of type parameters of this type.

Specified by:
getTypeParameters in interface DomainType

initFragments

public void initFragments(@NonNull
                          ExecutorFragment[] fragments,
                          int[] depthCounts)