org.eclipse.ocl.examples.pivot.manager
Class AbstractTypeServer
java.lang.Object
org.eclipse.ocl.examples.domain.types.AbstractInheritance
org.eclipse.ocl.examples.library.executor.ReflectiveType
org.eclipse.ocl.examples.pivot.manager.AbstractTypeServer
- All Implemented Interfaces:
- DomainElement, DomainInheritance, DomainNamedElement, DomainNamespace, DomainType, Nameable, OCLValue, TypeServer
- Direct Known Subclasses:
- ExtensibleTypeServer, OrphanTypeServer
public abstract class AbstractTypeServer
- extends ReflectiveType
- implements TypeServer
An AbstractTypeServer provides the co-ordinated operation, property and superclass lookup caches for one or more merged types.
Method Summary |
protected Property |
createExtensionProperty(ElementExtension stereotypeInstance,
Type baseType)
|
protected AbstractFragment |
createFragment(DomainInheritance baseInheritance)
|
static TemplateParameterSubstitution |
createTemplateParameterSubstitution(TemplateParameter formalParameter,
ParameterableElement type)
|
void |
dispose()
|
java.lang.Iterable<? extends DomainOperation> |
getAllOperations(FeatureFilter featureFilter)
|
java.lang.Iterable<? extends DomainOperation> |
getAllOperations(FeatureFilter featureFilter,
java.lang.String name)
|
java.lang.Iterable<? extends DomainProperty> |
getAllProperties(FeatureFilter featureFilter)
|
java.lang.Iterable<? extends DomainProperty> |
getAllProperties(FeatureFilter featureFilter,
java.lang.String name)
|
java.lang.Iterable<? extends State> |
getAllStates()
|
java.lang.Iterable<? extends State> |
getAllStates(java.lang.String name)
|
java.lang.Iterable<? extends DomainInheritance> |
getAllSuperClasses()
|
java.lang.Iterable<? extends DomainInheritance> |
getAllSuperClasses(java.lang.String className)
|
java.lang.Iterable<? extends DomainInheritance> |
getInitialSuperInheritances()
Return the immediate superinheritances without reference to the fragments. |
java.util.List<? extends DomainOperation> |
getLocalOperations()
|
java.util.List<? extends DomainProperty> |
getLocalProperties()
|
java.util.List<? extends DomainType> |
getLocalSuperTypes()
|
DomainOperation |
getMemberOperation(DomainOperation pivotOperation)
|
DomainOperation |
getMemberOperation(OperationId operationId)
|
java.lang.Iterable<DomainOperation> |
getMemberOperations(DomainOperation pivotOperation)
|
java.lang.Iterable<DomainProperty> |
getMemberProperties(DomainProperty pivotProperty)
|
java.util.Iterator<DomainProperty> |
getMemberProperties(java.lang.String propertyName)
|
DomainProperty |
getMemberProperty(java.lang.String propertyName)
|
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()
|
PackageManager |
getPackageManager()
|
PackageServer |
getPackageServer()
|
MetaModelManager |
getStandardLibrary()
Return the Standard Library managing the dispatch tables. |
TypeId |
getTypeId()
Return a unique StandardLibrary-independent identifier for this type. |
DomainTypeParameters |
getTypeParameters()
Return the ordered list of type parameters of this type. |
protected void |
initExtensionPropertiesFrom(Type baseType,
Stereotype stereotype)
|
protected void |
initMemberFeaturesFrom(DomainType pivotType)
|
protected void |
initMemberOperationsPostProcess(java.lang.String name,
java.util.List<DomainOperation> operations)
|
protected java.util.Map<java.lang.String,AbstractTypeServer.PartialProperties> |
initMemberProperties()
|
protected void |
initMemberPropertiesFrom(DomainType asType)
|
protected void |
initMemberPropertiesPostProcess(java.lang.String name,
AbstractTypeServer.PartialProperties properties)
|
protected java.util.Map<java.lang.String,State> |
initStates()
|
protected void |
initStatesForRegions(java.util.Map<java.lang.String,State> name2states,
java.util.List<Region> regions)
|
protected java.util.Map<java.lang.String,DomainInheritance> |
initSuperClasses()
|
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
initSuperClassesWithAmbiguousNames(java.util.Map<java.lang.String,DomainInheritance> name2superclasses2,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> name2qualifiedNames2)
|
void |
uninstall()
|
Methods inherited from class org.eclipse.ocl.examples.library.executor.ReflectiveType |
addSubInheritance, computeFlags, createInstance, createInstance, gatherUninstalledInheritances, getAllSuperFragments, getDepth, getFragment, getFragments, getIndex, getIndexes, getSelfFragment, getSuperFragments, getType, initialize, install, installOclAny, isInstallable, isInstalled, removeSubInheritance |
Methods inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance |
conformsTo, getCommonInheritance, getCommonType, getFragment, getInheritance, 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.DomainInheritance |
getAllSuperFragments, getCommonInheritance, getDepth, getFragment, getFragment, getIndex, getIndexes, getSelfFragment, getSuperFragments, isSubInheritanceOf, isSuperInheritanceOf, isUndefined, lookupLocalOperation |
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 |
ADD_BASE_PROPERTY
@NonNull
public static final TracingOption ADD_BASE_PROPERTY
ADD_EXTENSION_PROPERTY
@NonNull
public static final TracingOption ADD_EXTENSION_PROPERTY
INIT_MEMBER_OPERATIONS
@NonNull
public static final TracingOption INIT_MEMBER_OPERATIONS
INIT_MEMBER_PROPERTIES
@NonNull
public static final TracingOption INIT_MEMBER_PROPERTIES
bestOperation
@NonNull
public static final AbstractTypeServer.BestOperation bestOperation
MAP_VALUES
@NonNull
public static final AbstractTypeServer.MapValues MAP_VALUES
packageServer
@NonNull
protected final PackageServer packageServer
packageManager
@NonNull
protected final PackageManager packageManager
domainType
@NonNull
protected final DomainType domainType
typeId
@Nullable
protected TypeId typeId
AbstractTypeServer
protected AbstractTypeServer(@NonNull
PackageServer packageServer,
@NonNull
DomainType domainType)
createTemplateParameterSubstitution
@NonNull
public static TemplateParameterSubstitution createTemplateParameterSubstitution(@NonNull
TemplateParameter formalParameter,
@NonNull
ParameterableElement type)
createFragment
@NonNull
protected AbstractFragment createFragment(@NonNull
DomainInheritance baseInheritance)
- Specified by:
createFragment
in class ReflectiveType
dispose
public void dispose()
- Specified by:
dispose
in interface TypeServer
- Overrides:
dispose
in class ReflectiveType
getAllOperations
@NonNull
public java.lang.Iterable<? extends DomainOperation> getAllOperations(@Nullable
FeatureFilter featureFilter)
- Specified by:
getAllOperations
in interface DomainInheritance
- Specified by:
getAllOperations
in interface TypeServer
getAllOperations
@NonNull
public java.lang.Iterable<? extends DomainOperation> getAllOperations(@Nullable
FeatureFilter featureFilter,
@NonNull
java.lang.String name)
- Specified by:
getAllOperations
in interface TypeServer
getAllProperties
@NonNull
public java.lang.Iterable<? extends DomainProperty> getAllProperties(@Nullable
FeatureFilter featureFilter)
- Specified by:
getAllProperties
in interface DomainInheritance
- Specified by:
getAllProperties
in interface TypeServer
getAllProperties
@NonNull
public java.lang.Iterable<? extends DomainProperty> getAllProperties(@Nullable
FeatureFilter featureFilter,
@NonNull
java.lang.String name)
- Specified by:
getAllProperties
in interface TypeServer
getAllStates
@NonNull
public java.lang.Iterable<? extends State> getAllStates()
- Specified by:
getAllStates
in interface TypeServer
getAllStates
@NonNull
public java.lang.Iterable<? extends State> getAllStates(@NonNull
java.lang.String name)
- Specified by:
getAllStates
in interface TypeServer
getAllSuperClasses
@NonNull
public java.lang.Iterable<? extends DomainInheritance> getAllSuperClasses()
- Specified by:
getAllSuperClasses
in interface TypeServer
getAllSuperClasses
@NonNull
public java.lang.Iterable<? extends DomainInheritance> getAllSuperClasses(@NonNull
java.lang.String className)
- Specified by:
getAllSuperClasses
in interface TypeServer
initStates
@NonNull
protected java.util.Map<java.lang.String,State> initStates()
initStatesForRegions
protected void initStatesForRegions(@NonNull
java.util.Map<java.lang.String,State> name2states,
@NonNull
java.util.List<Region> regions)
getInitialSuperInheritances
@NonNull
public java.lang.Iterable<? extends DomainInheritance> getInitialSuperInheritances()
- Description copied from class:
ReflectiveType
- Return the immediate superinheritances without reference to the fragments.
- Specified by:
getInitialSuperInheritances
in class ReflectiveType
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
getMemberOperation
@Nullable
public DomainOperation getMemberOperation(@NonNull
OperationId operationId)
- Specified by:
getMemberOperation
in interface DomainInheritance
- Overrides:
getMemberOperation
in class AbstractInheritance
getMemberOperation
@Nullable
public DomainOperation getMemberOperation(@NonNull
DomainOperation pivotOperation)
- Specified by:
getMemberOperation
in interface TypeServer
getMemberOperations
@Nullable
public java.lang.Iterable<DomainOperation> getMemberOperations(@NonNull
DomainOperation pivotOperation)
- Specified by:
getMemberOperations
in interface TypeServer
getMemberProperties
@Nullable
public java.lang.Iterable<DomainProperty> getMemberProperties(@NonNull
DomainProperty pivotProperty)
- Specified by:
getMemberProperties
in interface TypeServer
getMemberProperties
@Nullable
public java.util.Iterator<DomainProperty> getMemberProperties(@NonNull
java.lang.String propertyName)
- Specified by:
getMemberProperties
in interface TypeServer
getMemberProperty
@Nullable
public DomainProperty getMemberProperty(@NonNull
java.lang.String propertyName)
- Specified by:
getMemberProperty
in interface DomainInheritance
- Specified by:
getMemberProperty
in interface TypeServer
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
getPackageManager
@NonNull
public final PackageManager getPackageManager()
getPackageServer
public PackageServer getPackageServer()
getStandardLibrary
@NonNull
public final MetaModelManager getStandardLibrary()
- Description copied from interface:
DomainInheritance
- Return the Standard Library managing the dispatch tables.
- Specified by:
getStandardLibrary
in interface DomainInheritance
getTypeId
@NonNull
public final TypeId getTypeId()
- Description copied from interface:
DomainType
- Return a unique StandardLibrary-independent identifier for this type.
- Specified by:
getTypeId
in interface DomainType
- Overrides:
getTypeId
in class ReflectiveType
- Returns:
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
initMemberFeaturesFrom
protected void initMemberFeaturesFrom(@NonNull
DomainType pivotType)
initMemberOperationsPostProcess
protected void initMemberOperationsPostProcess(@NonNull
java.lang.String name,
@NonNull
java.util.List<DomainOperation> operations)
initMemberProperties
@NonNull
protected java.util.Map<java.lang.String,AbstractTypeServer.PartialProperties> initMemberProperties()
initMemberPropertiesFrom
protected void initMemberPropertiesFrom(@NonNull
DomainType asType)
initMemberPropertiesPostProcess
protected void initMemberPropertiesPostProcess(@NonNull
java.lang.String name,
@NonNull
AbstractTypeServer.PartialProperties properties)
createExtensionProperty
@NonNull
protected Property createExtensionProperty(@NonNull
ElementExtension stereotypeInstance,
@NonNull
Type baseType)
initExtensionPropertiesFrom
protected void initExtensionPropertiesFrom(@NonNull
Type baseType,
@NonNull
Stereotype stereotype)
initSuperClasses
@NonNull
protected java.util.Map<java.lang.String,DomainInheritance> initSuperClasses()
initSuperClassesWithAmbiguousNames
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> initSuperClassesWithAmbiguousNames(java.util.Map<java.lang.String,DomainInheritance> name2superclasses2,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> name2qualifiedNames2)
uninstall
public void uninstall()
- Overrides:
uninstall
in class ReflectiveType