org.eclipse.ocl.examples.pivot.manager
Class TemplateableTypeServer

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.types.AbstractInheritance
      extended by org.eclipse.ocl.examples.library.executor.ReflectiveType
          extended by org.eclipse.ocl.examples.pivot.manager.AbstractTypeServer
              extended by org.eclipse.ocl.examples.pivot.manager.ExtensibleTypeServer
                  extended by org.eclipse.ocl.examples.pivot.manager.TemplateableTypeServer
All Implemented Interfaces:
DomainElement, DomainInheritance, DomainNamedElement, DomainNamespace, DomainType, Nameable, OCLValue, TypeServer

public class TemplateableTypeServer
extends ExtensibleTypeServer

An TemplateableTypeServer supports one or more merged types as the source for operations, properties or superclasses and additionally supports their specializations.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.pivot.manager.AbstractTypeServer
AbstractTypeServer.BestOperation, AbstractTypeServer.MapValues, AbstractTypeServer.PartialProperties, AbstractTypeServer.QualifiedName2DomainInheritance
 
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.pivot.manager.AbstractTypeServer
ADD_BASE_PROPERTY, ADD_EXTENSION_PROPERTY, bestOperation, domainType, INIT_MEMBER_OPERATIONS, INIT_MEMBER_PROPERTIES, MAP_VALUES, packageManager, packageServer, typeId
 
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
protected TemplateableTypeServer(PackageServer packageServer, DomainType domainType)
           
 
Method Summary
protected  Type createSpecialization(DomainTypeParameters templateArguments)
           
 Type findSpecializedType(DomainTypeParameters templateArguments)
           
 Type getSpecializedType(DomainTypeParameters templateArguments)
           
 Type getSpecializedType(java.util.List<? extends DomainElement> templateArguments)
           
 
Methods inherited from class org.eclipse.ocl.examples.pivot.manager.ExtensibleTypeServer
dispose, getPartialTypes, getPivotType, getTypeTracker, getTypeTrackers, toString, uninstall
 
Methods inherited from class org.eclipse.ocl.examples.pivot.manager.AbstractTypeServer
createExtensionProperty, createFragment, createTemplateParameterSubstitution, getAllOperations, getAllOperations, getAllProperties, getAllProperties, getAllStates, getAllStates, getAllSuperClasses, getAllSuperClasses, getInitialSuperInheritances, getLocalOperations, getLocalProperties, getLocalSuperTypes, getMemberOperation, getMemberOperation, getMemberOperations, getMemberProperties, getMemberProperties, getMemberProperty, getMetaTypeName, getOwnedAttribute, getOwnedOperation, getPackageManager, getPackageServer, getStandardLibrary, getTypeId, getTypeParameters, initExtensionPropertiesFrom, initMemberFeaturesFrom, initMemberOperationsPostProcess, initMemberProperties, initMemberPropertiesFrom, initMemberPropertiesPostProcess, initStates, initStatesForRegions, initSuperClasses, initSuperClassesWithAmbiguousNames
 
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
 
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
 
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

TemplateableTypeServer

protected TemplateableTypeServer(@NonNull
                                 PackageServer packageServer,
                                 @NonNull
                                 DomainType domainType)
Method Detail

createSpecialization

@NonNull
protected Type createSpecialization(@NonNull
                                            DomainTypeParameters templateArguments)

findSpecializedType

@Nullable
public Type findSpecializedType(@NonNull
                                         DomainTypeParameters templateArguments)

getSpecializedType

@NonNull
public Type getSpecializedType(@NonNull
                                       java.util.List<? extends DomainElement> templateArguments)

getSpecializedType

@NonNull
public Type getSpecializedType(@NonNull
                                       DomainTypeParameters templateArguments)