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

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.MetaclassServer
All Implemented Interfaces:
DomainElement, DomainInheritance, DomainNamedElement, DomainNamespace, DomainType, Nameable, OCLValue, TypeServer

public class MetaclassServer
extends ExtensibleTypeServer

A MetaclassServer supports one or more merged types as the source for operations, properties or superclasses and additionally supports their specializations.
The main MetaclassServer for the OCl Standard Library metaclass type supports noprmal usage.
Additional Package-specific MetaclassServers support the additional base_XXX, extension_YYY property accesses associated with the application of profile to types within the package.


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
MetaclassServer(PackageServer packageServer, Metaclass<?> domainType)
           
 
Method Summary
protected  Metaclass<?> createMetaclass(Type type)
           
 Metaclass<?> getMetaclass(Type type)
           
 
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

MetaclassServer

public MetaclassServer(@NonNull
                       PackageServer packageServer,
                       @NonNull
                       Metaclass<?> domainType)
Method Detail

createMetaclass

@NonNull
protected Metaclass<?> createMetaclass(@NonNull
                                               Type type)

getMetaclass

@NonNull
public Metaclass<?> getMetaclass(@NonNull
                                         Type type)