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

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.types.AbstractStandardLibrary
      extended by org.eclipse.ocl.examples.pivot.manager.PivotStandardLibrary
          extended by org.eclipse.ocl.examples.pivot.manager.MetaModelManager
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, DomainStandardLibrary, MetaModelManageable
Direct Known Subclasses:
TypeManager

public class MetaModelManager
extends PivotStandardLibrary
implements org.eclipse.emf.common.notify.Adapter.Internal, MetaModelManageable


Nested Class Summary
 class MetaModelManager.CompleteClassPropertiesIterable
           
 class MetaModelManager.CompleteClassSuperClassesIterable
           
 class MetaModelManager.CompleteElementCommentsIterable
           
 class MetaModelManager.CompleteElementInvariantsIterable
           
 class MetaModelManager.CompleteTypeOperationsIterable
           
 
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
 
Field Summary
protected  java.util.List<Library> asLibraries
          All Library packages imported into the current type managed domain.
protected  org.eclipse.emf.ecore.resource.Resource asLibraryResource
          The resource of the first of the asLibraries.
protected  DomainPackage asMetamodel
           
protected  org.eclipse.emf.ecore.resource.ResourceSet asResourceSet
           
static TracingOption CREATE_MUTABLE_CLONE
           
static java.util.List<Comment> EMPTY_COMMENT_LIST
           
static java.util.List<Constraint> EMPTY_CONSTRAINT_LIST
           
static java.util.List<Element> EMPTY_ELEMENT_LIST
           
static java.util.List<Operation> EMPTY_OPERATION_LIST
           
static java.util.List<Property> EMPTY_PROPERTY_LIST
           
static java.util.List<State> EMPTY_STATE_LIST
           
static java.util.List<TemplateParameter> EMPTY_TEMPLATE_PARAMETER_LIST
           
static java.util.List<Type> EMPTY_TYPE_LIST
           
static java.util.List<TypeServer> EMPTY_TYPE_SERVER_LIST
           
protected  org.eclipse.emf.ecore.resource.impl.ResourceSetImpl externalResourceSet
           
protected  PivotIdResolver idResolver
          The resolver for Ids and EObjects
static java.util.WeakHashMap<MetaModelManager,java.lang.Object> liveMetaModelManagers
          Leak debugging aid.
 
Fields inherited from class org.eclipse.ocl.examples.pivot.manager.PivotStandardLibrary
DEFAULT_OCL_STDLIB_URI, defaultStandardLibraryURI
 
Constructor Summary
MetaModelManager()
           
MetaModelManager(org.eclipse.emf.ecore.resource.ResourceSet asResourceSet)
          Construct a MetaModelManager that will use asResourceSet to contain pivot copies of meta-models, and ProjectMap.getAdapter(ResourceSet) to assist in locating resources.
MetaModelManager(StandaloneProjectMap projectMap)
          Construct a MetaModelManager that will use projectMap to assist in locating resources.
 
Method Summary
 void addClassLoader(java.lang.ClassLoader classLoader)
           
 void addExternalResource(External2Pivot external2Pivot)
           
 void addGenModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
           
 void addGenPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage)
           
 DomainNamespace addGlobalNamespace(java.lang.String name, DomainNamespace namespace)
           
 boolean addGlobalTypes(java.util.Collection<Type> types)
           
 void addListener(MetaModelManagerListener listener)
           
 void addLockedElement(java.lang.Object lockedElement)
           
 void addOrphanClass(Type pivotElement)
           
 void assignLibraryIds(AS2XMIid as2xmIid)
          Deprecated. 
 void assignLibraryIds(AS2XMIid as2xmIid, java.util.Map<?,?> options)
          Assign xmi:id values to referenceable elements in the libraries.
 int compareOperationMatches(Operation reference, java.util.Map<TemplateParameter,ParameterableElement> referenceBindings, Operation candidate, java.util.Map<TemplateParameter,ParameterableElement> candidateBindings)
          Return -ve if match1 is inferior to match2, +ve if match2 is inferior to match1, or zero if both matches are of equal validity.
 void configureLoadFirstStrategy()
          Configure the PackageRegistry associated with the externalResourceSet to use a load strategy that uses whichever of the namespace or platform URI is firtst encounterted and which suppresses diagnostics about subsequent use of the other form of URI.
 void configureLoadStrategy(StandaloneProjectMap.IResourceLoadStrategy packageLoadStrategy, StandaloneProjectMap.IConflictHandler conflictHandler)
          Configure the PackageRegistry associated with the externalResourceSet to use a packageLoadStrategy and conflictHandler when resolving namespace ansd platform URIs.
 boolean conformsTo(Type firstType, Type secondType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
protected  boolean conformsToCollectionType(CollectionType firstType, CollectionType secondType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
 boolean conformsToCollectionType(DomainCollectionType firstCollectionType, DomainCollectionType secondCollectionType)
           
protected  boolean conformsToLambdaType(LambdaType actualType, LambdaType requiredType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
protected  boolean conformsToMetaclass(Metaclass<?> firstType, Metaclass<?> secondType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
protected  boolean conformsToTupleType(TupleType actualType, TupleType requiredType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
protected  PivotIdResolver createIdResolver()
           
protected  ImplementationManager createImplementationManager()
           
 InvalidLiteralExp createInvalidExpression()
           
protected  LambdaTypeManager createLambdaManager()
           
protected  Orphanage createOrphanage()
           
<T extends Package>
T
createPackage(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, java.lang.String name, java.lang.String nsURI)
           
protected  PackageManager createPackageManager()
           
protected  PrecedenceManager createPrecedenceManager()
           
 ASResource createResource(org.eclipse.emf.common.util.URI uri, java.lang.String contentType)
          Deprecated. 
<T extends Root>
T
createRoot(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, java.lang.String externalURI)
           
<T extends Root>
T
createRoot(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, java.lang.String name, java.lang.String externalURI)
          Deprecated. 
 Root createRoot(java.lang.String externalURI)
           
 Root createRoot(java.lang.String name, java.lang.String externalURI)
          Deprecated. 
protected  TupleTypeManager createTupleManager()
           
 UnspecifiedType createUnspecifiedType()
           
 void dispose()
           
protected  void finalize()
           
static MetaModelManager findAdapter(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
static MetaModelManager getAdapter(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
 java.lang.Iterable<Constraint> getAllInvariants(Type pivotType)
          Return all constraints applicable to a type and its superclasses.
 java.lang.Iterable<? extends DomainOperation> getAllOperations(DomainOperation pivotOperation)
           
 java.lang.Iterable<? extends DomainOperation> getAllOperations(DomainType type, FeatureFilter featureFilter)
           
 java.lang.Iterable<? extends DomainOperation> getAllOperations(DomainType type, FeatureFilter featureFilter, java.lang.String name)
           
 java.lang.Iterable<PackageServer> getAllPackages()
           
 java.lang.Iterable<? extends DomainProperty> getAllProperties(DomainProperty pivotProperty)
           
 java.lang.Iterable<? extends DomainProperty> getAllProperties(DomainType type, FeatureFilter featureFilter)
           
 java.lang.Iterable<? extends DomainProperty> getAllProperties(DomainType type, FeatureFilter featureFilter, java.lang.String name)
           
 java.lang.Iterable<? extends DomainType> getAllSuperClasses(DomainType type)
           
 java.lang.Iterable<Type> getAllTypes(Type pivotType)
          Deprecated. 
 DomainPackage getASMetamodel()
           
 org.eclipse.emf.ecore.resource.ResourceSet getASResourceSet()
           
 CollectionType getBagType(DomainType elementType, IntegerValue lower, IntegerValue upper)
          Return the instance of the Bag metatype whose elements are of elementType.
 CollectionType getBagType(Type elementType, IntegerValue lower, IntegerValue upper)
           
 OpaqueExpression getBodyExpression(Operation operation)
           
 CollectionType getCollectionType(boolean isOrdered, boolean isUnique)
           
 CollectionType getCollectionType(boolean isOrdered, boolean isUnique, Type elementType, IntegerValue lower, IntegerValue upper)
           
 CollectionType getCollectionType(DomainType containerType, DomainType elementType, IntegerValue lower, IntegerValue upper)
          Return the specialized collection type for the containerType for elementType.
 Type getCollectionType(java.lang.String collectionTypeName, Type elementType, IntegerValue lower, IntegerValue upper)
           
<T extends CollectionType>
T
getCollectionType(T containerType, Type elementType, IntegerValue lower, IntegerValue upper)
           
 java.util.Set<DomainInheritance> getCommonClasses(Type leftClass, Type rightClass, java.util.Set<DomainInheritance> commonClasses)
           
 Type getCommonType(Type leftType, Type rightType, java.util.Map<TemplateParameter,ParameterableElement> templateParameterSubstitutions)
           
 OpaqueExpression getDefaultExpression(Property property)
           
 java.lang.String getDefaultStandardLibraryURI()
           
<T extends org.eclipse.emf.ecore.EObject>
T
getEcoreOfPivot(java.lang.Class<T> ecoreClass, Element element)
           
 ElementExtension getElementExtension(Element asStereotypedElement, Stereotype asStereotype)
          Return an ElementExtension for asStereotype reusing any that already exist in asElementExtensions.
 org.eclipse.emf.ecore.resource.ResourceSet getExternalResourceSet()
           
 org.eclipse.emf.codegen.ecore.genmodel.GenPackage getGenPackage(java.lang.String nsURI)
           
 java.util.Set<java.util.Map.Entry<java.lang.String,DomainNamespace>> getGlobalNamespaces()
           
 java.lang.Iterable<Type> getGlobalTypes()
           
 PivotIdResolver getIdResolver()
           
 LibraryFeature getImplementation(Feature feature)
           
 LibraryProperty getImplementation(java.lang.Object sourceValue, Property property)
           
 LibraryOperation getImplementation(Operation operation)
           
 ImplementationManager getImplementationManager()
           
 Precedence getInfixPrecedence(java.lang.String operatorName)
           
 DomainInheritance getInheritance(DomainType type)
          Return the Inheritance dispatch table for a given type.
 LambdaTypeManager getLambdaManager()
           
 LambdaType getLambdaType(java.lang.String typeName, Type contextType, java.util.List<? extends Type> parameterTypes, Type resultType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
 java.util.List<Library> getLibraries()
           
 org.eclipse.emf.ecore.resource.Resource getLibraryResource()
           
 Type getLibraryType(java.lang.String string, java.util.List<? extends ParameterableElement> templateArguments)
           
<T extends Type>
T
getLibraryType(T libraryType, java.util.List<? extends ParameterableElement> templateArguments)
           
 java.lang.Iterable<TypeServer> getLocalClasses(Package pkg)
           
 java.lang.Iterable<Comment> getLocalComments(Operation operation)
           
 java.lang.Iterable<Comment> getLocalComments(Property property)
           
 java.lang.Iterable<Comment> getLocalComments(Type type)
           
 java.lang.Iterable<Constraint> getLocalInvariants(Type type)
           
 org.eclipse.emf.ecore.EObject getLockingObject()
           
 java.lang.Iterable<Operation> getMemberOperations(Type type, boolean selectStatic)
           
 java.lang.Iterable<? extends PackageServer> getMemberPackages(DomainPackage pkg)
           
 java.lang.Iterable<Property> getMemberProperties(Type type, boolean selectStatic)
           
 Metaclass<?> getMetaclass(DomainType domainInstanceType)
          Return the instance of the Metaclass metatype whose class is classType.
 MetaModelManager getMetaModelManager()
           
 java.lang.String getMetamodelNsURI(org.eclipse.emf.ecore.EPackage ePackage)
           
 DomainType getMetaType(DomainType instanceType)
          Returns the meta-type of a given type.
protected  Type getMutable(Type asType)
           
 DomainPackage getNestedPackage(DomainPackage domainPackage, java.lang.String name)
           
 DomainType getNestedType(DomainPackage domainPackage, java.lang.String name)
           
 DomainPackage getNsURIPackage(java.lang.String nsURI)
           
 DomainType getOclType(java.lang.String typeName)
           
 DomainElement getOperationTemplateParameter(DomainOperation anOperation, int index)
           
 CollectionType getOrderedSetType(DomainType elementType, IntegerValue lower, IntegerValue upper)
          Return the instance of the OrderedSet metatype whose elements are of elementType.
 CollectionType getOrderedSetType(Type elementType, IntegerValue lower, IntegerValue upper)
           
 Orphanage getOrphanage()
           
 PackageManager getPackageManager()
           
 PackageServer getPackageServer(DomainPackage asPackage)
           
 ParserContext getParserContext(Element element, java.lang.Object... todoParameters)
          Return a parserContext suitable for parsing OCL expressions in the context of a pivot element.
 java.lang.Iterable<? extends DomainPackage> getPartialPackages(DomainPackage pkg, boolean loadASMetamodelFirst)
           
 java.lang.Iterable<? extends DomainType> getPartialTypes(DomainType pivotType)
           
<T extends Element>
T
getPivotOf(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EObject eObject)
           
<T extends Element>
T
getPivotOfEcore(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EObject eObject)
           
 Type getPivotType(java.lang.String className)
          Return the pivot model class for className with the Pivot Model.
protected  PrecedenceManager getPrecedenceManager()
           
 Precedence getPrefixPrecedence(java.lang.String operatorName)
           
<T extends org.eclipse.emf.ecore.EObject>
T
getPrimaryElement(T element)
           
 DomainOperation getPrimaryOperation(DomainOperation pivotOperation)
           
 DomainPackage getPrimaryPackage(DomainPackage aPackage)
          Lookup a primary sub-package.
 PackageServer getPrimaryPackage(java.lang.String nsURI, java.lang.String... subPackagePath)
          Lookup a primary package by its URI and optionally a sub-package path.
 DomainProperty getPrimaryProperty(DomainProperty pivotProperty)
           
 Type getPrimaryType(DomainType type)
           
 Type getPrimaryType(java.lang.String nsURI, java.lang.String path, java.lang.String... extraPath)
           
 StandaloneProjectMap getProjectMap()
          Return the ProjectMap used to resolve EPackages for the extertnalResourceSet.
 ASResource getResource(org.eclipse.emf.common.util.URI uri, java.lang.String contentType)
          Lookup a primary type.
 org.eclipse.emf.common.util.URI getResourceIdentifier(java.lang.Object uniqueContext, java.lang.String subContext)
          Deprecated. URIs are auto-generated
 Package getRootPackage(java.lang.String name)
           
 CollectionType getSequenceType(DomainType elementType, IntegerValue lower, IntegerValue upper)
          Return the instance of the Sequence metatype whose elements are of elementType.
 CollectionType getSequenceType(Type elementType, IntegerValue lower, IntegerValue upper)
           
 CollectionType getSetType(DomainType elementType, IntegerValue lower, IntegerValue upper)
          Return the instance of the Set metatype whose elements are of elementType.
 CollectionType getSetType(Type elementType, IntegerValue lower, IntegerValue upper)
           
protected  CollectionType getSpecializedCollectionType(CollectionType type, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
protected  Type getSpecializedLambdaType(LambdaType type, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
protected  Metaclass<?> getSpecializedMetaclass(Metaclass<?> type, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
 Type getSpecializedType(Type type, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
 java.lang.Iterable<Type> getSuperClasses(Type pivotType)
           
 org.eclipse.emf.ecore.resource.ResourceSet getTarget()
           
 TupleTypeManager getTupleManager()
           
 TupleType getTupleType(java.lang.String typeName, java.util.Collection<? extends DomainTypedElement> parts, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
 TupleType getTupleType(TupleType tupleType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
 Type getType(DomainType dType)
           
 TypeServer getTypeServer(DomainType pivotType)
           
static void initializeASResourceSet(org.eclipse.emf.ecore.resource.ResourceSet asResourceSet)
           
 void installPropertyDeclaration(Property thisProperty)
          Create implicit an opposite property if there is no explicit opposite.
 void installResource(org.eclipse.emf.ecore.resource.Resource asResource)
           
 void installRoot(Root pivotRoot)
           
 boolean isAdapterFor(MetaModelManager metaModelManager)
           
 boolean isAdapterForType(java.lang.Object type)
           
 boolean isSuperClassOf(Type unspecializedFirstType, Type secondType)
           
 boolean isTypeServeable(DomainType type)
           
 boolean isUnderspecified(ParameterableElement type)
          Retyurn true if this type involves an UnspecifiedType.
protected  boolean isUnspecialized(java.util.List<TemplateParameter> templateParameters, java.util.List<? extends ParameterableElement> templateArguments)
           
protected  void loadASMetamodel(Package asLibrary)
          Load the Pivot MetaModel of the Pivot Model to accompany a given asLibrary.
protected  org.eclipse.emf.ecore.resource.Resource loadDefaultLibrary(java.lang.String uri)
           
 org.eclipse.emf.ecore.EPackage loadEPackage(org.eclipse.emf.ecore.EPackage ePackage)
          Ensure that EPackage has been loaded in the externalResourceSet PackageRegistry.
 Element loadResource(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.common.util.URI uri)
           
 Element loadResource(org.eclipse.emf.common.util.URI uri, java.lang.String alias, org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
 LibraryFeature lookupImplementation(DomainOperation dynamicOperation)
           
 void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
           
protected  void rebindTemplateBindings(java.util.Map<TemplateParameter,ParameterableElement> typeBindings, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
 void removeExternalResource(External2Pivot external2Pivot)
           
 void removeListener(MetaModelManagerListener listener)
           
protected  void resolveAllOperations(java.util.Set<Operation> allOperations, Type forType, FeatureFilter featureFilter, java.lang.String operationName, java.util.List<Parameter> parameters)
          Return all matching operations.
 Operation resolveBaseOperation(Operation operation)
          Return the un-overloaded operation.
 java.util.Set<Operation> resolveLocalOperation(Type pivotClass, java.lang.String operationName, Type... pivotArguments)
           
 Operation resolveOperation(Type leftType, java.lang.String operationName, Type... rightTypes)
           
 java.util.Set<Operation> resolveOperations(Type pivotClass, java.lang.String operationName, Type... pivotArguments)
           
 void setASMetamodel(DomainPackage asPackage)
           
 void setAutoLoadASMetamodel(boolean autoLoadASMetamodel)
           
 void setDefaultStandardLibraryURI(java.lang.String defaultStandardLibraryURI)
           
 void setLibraryLoadInProgress(boolean libraryLoadInProgress)
           
 void setMetamodelNsURI(java.lang.String metaNsURI)
           
 void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
           
 void unsetTarget(org.eclipse.emf.common.notify.Notifier oldTarget)
           
 
Methods inherited from class org.eclipse.ocl.examples.pivot.manager.PivotStandardLibrary
basicGetOclInvalidOperation, basicGetOclInvalidProperty, basicGetOclInvalidType, defineLibraryType, getBagType, getBooleanType, getClassType, getCollectionType, getEnumerationType, getIntegerType, getLibraryType, getMetaclassType, getOclAnyType, getOclComparableType, getOclElementType, getOclInvalidOperation, getOclInvalidProperty, getOclInvalidType, getOclLambdaType, getOclMessageType, getOclSelfType, getOclSummableType, getOclTupleType, getOclTypeType, getOclVoidType, getOrderedCollectionType, getOrderedSetType, getRealType, getRequiredLibraryType, getSequenceType, getSetType, getStringType, getUniqueCollectionType, getUnlimitedNaturalType, isOrdered, isUnique, resetLibrary, resolveRequiredSimpleType, resolveRequiredTemplateableType
 
Methods inherited from class org.eclipse.ocl.examples.domain.types.AbstractStandardLibrary
conformsToLambdaType, conformsToTupleType, getBagType, getCollectionType, getEnumeration, getOrderedSetType, getPrimitiveType, getSequenceType, getSetType, isEqualToCollectionType, isEqualToTupleType, weakGet
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CREATE_MUTABLE_CLONE

@NonNull
public static final TracingOption CREATE_MUTABLE_CLONE

EMPTY_COMMENT_LIST

@NonNull
public static final java.util.List<Comment> EMPTY_COMMENT_LIST

EMPTY_CONSTRAINT_LIST

@NonNull
public static final java.util.List<Constraint> EMPTY_CONSTRAINT_LIST

EMPTY_ELEMENT_LIST

@NonNull
public static final java.util.List<Element> EMPTY_ELEMENT_LIST

EMPTY_OPERATION_LIST

@NonNull
public static final java.util.List<Operation> EMPTY_OPERATION_LIST

EMPTY_PROPERTY_LIST

@NonNull
public static final java.util.List<Property> EMPTY_PROPERTY_LIST

EMPTY_STATE_LIST

@NonNull
public static final java.util.List<State> EMPTY_STATE_LIST

EMPTY_TEMPLATE_PARAMETER_LIST

@NonNull
public static final java.util.List<TemplateParameter> EMPTY_TEMPLATE_PARAMETER_LIST

EMPTY_TYPE_LIST

@NonNull
public static final java.util.List<Type> EMPTY_TYPE_LIST

EMPTY_TYPE_SERVER_LIST

@NonNull
public static final java.util.List<TypeServer> EMPTY_TYPE_SERVER_LIST

liveMetaModelManagers

public static java.util.WeakHashMap<MetaModelManager,java.lang.Object> liveMetaModelManagers
Leak debugging aid. Set non-null to diagnose MetaModelManager construction and finalization.


asMetamodel

protected DomainPackage asMetamodel

asResourceSet

@NonNull
protected final org.eclipse.emf.ecore.resource.ResourceSet asResourceSet

asLibraries

@NonNull
protected final java.util.List<Library> asLibraries
All Library packages imported into the current type managed domain. All libraries share the same URI, which for supplementary libraries may be null.


asLibraryResource

@Nullable
protected org.eclipse.emf.ecore.resource.Resource asLibraryResource
The resource of the first of the asLibraries. Set once actually loaded.


externalResourceSet

@Nullable
protected org.eclipse.emf.ecore.resource.impl.ResourceSetImpl externalResourceSet

idResolver

@NonNull
protected final PivotIdResolver idResolver
The resolver for Ids and EObjects

Constructor Detail

MetaModelManager

public MetaModelManager()

MetaModelManager

public MetaModelManager(@NonNull
                        StandaloneProjectMap projectMap)
Construct a MetaModelManager that will use projectMap to assist in locating resources.


MetaModelManager

public MetaModelManager(@NonNull
                        org.eclipse.emf.ecore.resource.ResourceSet asResourceSet)
Construct a MetaModelManager that will use asResourceSet to contain pivot copies of meta-models, and ProjectMap.getAdapter(ResourceSet) to assist in locating resources.

Method Detail

findAdapter

@Nullable
public static MetaModelManager findAdapter(@Nullable
                                                    org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

getAdapter

@NonNull
public static MetaModelManager getAdapter(@NonNull
                                                  org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

initializeASResourceSet

public static void initializeASResourceSet(@NonNull
                                           org.eclipse.emf.ecore.resource.ResourceSet asResourceSet)

addClassLoader

public void addClassLoader(@NonNull
                           java.lang.ClassLoader classLoader)

addExternalResource

public void addExternalResource(@NonNull
                                External2Pivot external2Pivot)

addGenModel

public void addGenModel(@NonNull
                        org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)

addGenPackage

public void addGenPackage(@NonNull
                          org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage)

addGlobalNamespace

@Nullable
public DomainNamespace addGlobalNamespace(@NonNull
                                                   java.lang.String name,
                                                   @NonNull
                                                   DomainNamespace namespace)

addGlobalTypes

public boolean addGlobalTypes(@NonNull
                              java.util.Collection<Type> types)

addListener

public void addListener(@NonNull
                        MetaModelManagerListener listener)

addLockedElement

public void addLockedElement(@NonNull
                             java.lang.Object lockedElement)

addOrphanClass

public void addOrphanClass(@NonNull
                           Type pivotElement)

assignLibraryIds

@Deprecated
public void assignLibraryIds(@NonNull
                                        AS2XMIid as2xmIid)
Deprecated. 


assignLibraryIds

public void assignLibraryIds(@NonNull
                             AS2XMIid as2xmIid,
                             @Nullable
                             java.util.Map<?,?> options)
Assign xmi:id values to referenceable elements in the libraries.


compareOperationMatches

public int compareOperationMatches(@NonNull
                                   Operation reference,
                                   @Nullable
                                   java.util.Map<TemplateParameter,ParameterableElement> referenceBindings,
                                   @NonNull
                                   Operation candidate,
                                   @Nullable
                                   java.util.Map<TemplateParameter,ParameterableElement> candidateBindings)
Return -ve if match1 is inferior to match2, +ve if match2 is inferior to match1, or zero if both matches are of equal validity.


configureLoadFirstStrategy

public void configureLoadFirstStrategy()
Configure the PackageRegistry associated with the externalResourceSet to use a load strategy that uses whichever of the namespace or platform URI is firtst encounterted and which suppresses diagnostics about subsequent use of the other form of URI.


configureLoadStrategy

public void configureLoadStrategy(@NonNull
                                  StandaloneProjectMap.IResourceLoadStrategy packageLoadStrategy,
                                  @Nullable
                                  StandaloneProjectMap.IConflictHandler conflictHandler)
Configure the PackageRegistry associated with the externalResourceSet to use a packageLoadStrategy and conflictHandler when resolving namespace ansd platform URIs.


conformsTo

public boolean conformsTo(@NonNull
                          Type firstType,
                          @NonNull
                          Type secondType,
                          @Nullable
                          java.util.Map<TemplateParameter,ParameterableElement> bindings)

conformsToCollectionType

public boolean conformsToCollectionType(@NonNull
                                        DomainCollectionType firstCollectionType,
                                        @NonNull
                                        DomainCollectionType secondCollectionType)
Specified by:
conformsToCollectionType in interface DomainStandardLibrary
Overrides:
conformsToCollectionType in class AbstractStandardLibrary

conformsToCollectionType

protected boolean conformsToCollectionType(@NonNull
                                           CollectionType firstType,
                                           @NonNull
                                           CollectionType secondType,
                                           @Nullable
                                           java.util.Map<TemplateParameter,ParameterableElement> bindings)

conformsToLambdaType

protected boolean conformsToLambdaType(@NonNull
                                       LambdaType actualType,
                                       @NonNull
                                       LambdaType requiredType,
                                       @Nullable
                                       java.util.Map<TemplateParameter,ParameterableElement> bindings)

conformsToMetaclass

protected boolean conformsToMetaclass(@NonNull
                                      Metaclass<?> firstType,
                                      @NonNull
                                      Metaclass<?> secondType,
                                      @Nullable
                                      java.util.Map<TemplateParameter,ParameterableElement> bindings)

conformsToTupleType

protected boolean conformsToTupleType(@NonNull
                                      TupleType actualType,
                                      @NonNull
                                      TupleType requiredType,
                                      @Nullable
                                      java.util.Map<TemplateParameter,ParameterableElement> bindings)

createIdResolver

@NonNull
protected PivotIdResolver createIdResolver()

createImplementationManager

@NonNull
protected ImplementationManager createImplementationManager()

createInvalidExpression

@NonNull
public InvalidLiteralExp createInvalidExpression()

createLambdaManager

@NonNull
protected LambdaTypeManager createLambdaManager()

createOrphanage

@NonNull
protected Orphanage createOrphanage()

createPackage

@NonNull
public <T extends Package> T createPackage(@NonNull
                                                   java.lang.Class<T> pivotClass,
                                                   @NonNull
                                                   org.eclipse.emf.ecore.EClass pivotEClass,
                                                   @NonNull
                                                   java.lang.String name,
                                                   @Nullable
                                                   java.lang.String nsURI)

createPackageManager

@NonNull
protected PackageManager createPackageManager()

createPrecedenceManager

@NonNull
protected PrecedenceManager createPrecedenceManager()

createResource

@Deprecated
@NonNull
public ASResource createResource(@NonNull
                                                    org.eclipse.emf.common.util.URI uri,
                                                    @Nullable
                                                    java.lang.String contentType)
Deprecated. 


createRoot

@NonNull
public Root createRoot(java.lang.String externalURI)

createRoot

@Deprecated
@NonNull
public Root createRoot(java.lang.String name,
                                          java.lang.String externalURI)
Deprecated. 


createRoot

@Deprecated
@NonNull
public <T extends Root> T createRoot(@NonNull
                                                        java.lang.Class<T> pivotClass,
                                                        org.eclipse.emf.ecore.EClass pivotEClass,
                                                        java.lang.String name,
                                                        java.lang.String externalURI)
Deprecated. 


createRoot

@NonNull
public <T extends Root> T createRoot(@NonNull
                                             java.lang.Class<T> pivotClass,
                                             org.eclipse.emf.ecore.EClass pivotEClass,
                                             java.lang.String externalURI)

createTupleManager

@NonNull
protected TupleTypeManager createTupleManager()

createUnspecifiedType

@NonNull
public UnspecifiedType createUnspecifiedType()

dispose

public void dispose()
Overrides:
dispose in class PivotStandardLibrary

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

getAllInvariants

@NonNull
public java.lang.Iterable<Constraint> getAllInvariants(@NonNull
                                                               Type pivotType)
Return all constraints applicable to a type and its superclasses.


getAllOperations

@NonNull
public java.lang.Iterable<? extends DomainOperation> getAllOperations(@NonNull
                                                                              DomainType type,
                                                                              @Nullable
                                                                              FeatureFilter featureFilter)

getAllOperations

@NonNull
public java.lang.Iterable<? extends DomainOperation> getAllOperations(@NonNull
                                                                              DomainType type,
                                                                              @Nullable
                                                                              FeatureFilter featureFilter,
                                                                              @NonNull
                                                                              java.lang.String name)

getAllOperations

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

getAllPackages

@NonNull
public java.lang.Iterable<PackageServer> getAllPackages()
Specified by:
getAllPackages in interface DomainStandardLibrary
Overrides:
getAllPackages in class AbstractStandardLibrary

getAllProperties

@NonNull
public java.lang.Iterable<? extends DomainProperty> getAllProperties(@NonNull
                                                                             DomainType type,
                                                                             @Nullable
                                                                             FeatureFilter featureFilter)

getAllProperties

@NonNull
public java.lang.Iterable<? extends DomainProperty> getAllProperties(@NonNull
                                                                             DomainType type,
                                                                             @Nullable
                                                                             FeatureFilter featureFilter,
                                                                             @NonNull
                                                                             java.lang.String name)

getAllProperties

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

getAllSuperClasses

@NonNull
public java.lang.Iterable<? extends DomainType> getAllSuperClasses(@NonNull
                                                                           DomainType type)

getAllTypes

@Deprecated
@NonNull
public java.lang.Iterable<Type> getAllTypes(@NonNull
                                                               Type pivotType)
Deprecated. 


getASMetamodel

@Nullable
public DomainPackage getASMetamodel()

getASResourceSet

@NonNull
public org.eclipse.emf.ecore.resource.ResourceSet getASResourceSet()

getBagType

@NonNull
public CollectionType getBagType(@NonNull
                                         DomainType elementType,
                                         @Nullable
                                         IntegerValue lower,
                                         @Nullable
                                         IntegerValue upper)
Description copied from interface: DomainStandardLibrary
Return the instance of the Bag metatype whose elements are of elementType.

Specified by:
getBagType in interface DomainStandardLibrary

getBagType

@NonNull
public CollectionType getBagType(@NonNull
                                         Type elementType,
                                         @Nullable
                                         IntegerValue lower,
                                         @Nullable
                                         IntegerValue upper)

getBodyExpression

@Nullable
public OpaqueExpression getBodyExpression(@NonNull
                                                   Operation operation)

getCollectionType

@NonNull
public CollectionType getCollectionType(boolean isOrdered,
                                                boolean isUnique)

getCollectionType

@NonNull
public CollectionType getCollectionType(@NonNull
                                                DomainType containerType,
                                                @NonNull
                                                DomainType elementType,
                                                @Nullable
                                                IntegerValue lower,
                                                @Nullable
                                                IntegerValue upper)
Description copied from interface: DomainStandardLibrary
Return the specialized collection type for the containerType for elementType.

Specified by:
getCollectionType in interface DomainStandardLibrary
Overrides:
getCollectionType in class AbstractStandardLibrary

getCollectionType

@NonNull
public CollectionType getCollectionType(boolean isOrdered,
                                                boolean isUnique,
                                                @NonNull
                                                Type elementType,
                                                @Nullable
                                                IntegerValue lower,
                                                @Nullable
                                                IntegerValue upper)

getCollectionType

@NonNull
public Type getCollectionType(@NonNull
                                      java.lang.String collectionTypeName,
                                      @NonNull
                                      Type elementType,
                                      @Nullable
                                      IntegerValue lower,
                                      @Nullable
                                      IntegerValue upper)

getCollectionType

@NonNull
public <T extends CollectionType> T getCollectionType(@NonNull
                                                              T containerType,
                                                              @NonNull
                                                              Type elementType,
                                                              @Nullable
                                                              IntegerValue lower,
                                                              @Nullable
                                                              IntegerValue upper)

getCommonClasses

@NonNull
public java.util.Set<DomainInheritance> getCommonClasses(@NonNull
                                                                 Type leftClass,
                                                                 @NonNull
                                                                 Type rightClass,
                                                                 @NonNull
                                                                 java.util.Set<DomainInheritance> commonClasses)

getCommonType

@NonNull
public Type getCommonType(@NonNull
                                  Type leftType,
                                  @NonNull
                                  Type rightType,
                                  @Nullable
                                  java.util.Map<TemplateParameter,ParameterableElement> templateParameterSubstitutions)

getDefaultStandardLibraryURI

@NonNull
public java.lang.String getDefaultStandardLibraryURI()

getDefaultExpression

@Nullable
public OpaqueExpression getDefaultExpression(@NonNull
                                                      Property property)

getEcoreOfPivot

@Nullable
public <T extends org.eclipse.emf.ecore.EObject> T getEcoreOfPivot(@NonNull
                                                                            java.lang.Class<T> ecoreClass,
                                                                            @NonNull
                                                                            Element element)

getElementExtension

@NonNull
public ElementExtension getElementExtension(@NonNull
                                                    Element asStereotypedElement,
                                                    @NonNull
                                                    Stereotype asStereotype)
Return an ElementExtension for asStereotype reusing any that already exist in asElementExtensions.


getExternalResourceSet

@NonNull
public org.eclipse.emf.ecore.resource.ResourceSet getExternalResourceSet()

getGenPackage

@Nullable
public org.eclipse.emf.codegen.ecore.genmodel.GenPackage getGenPackage(@NonNull
                                                                                java.lang.String nsURI)

getGlobalNamespaces

@NonNull
public java.util.Set<java.util.Map.Entry<java.lang.String,DomainNamespace>> getGlobalNamespaces()

getGlobalTypes

@NonNull
public java.lang.Iterable<Type> getGlobalTypes()

getIdResolver

@NonNull
public PivotIdResolver getIdResolver()

getImplementation

@NonNull
public LibraryFeature getImplementation(@NonNull
                                                Feature feature)
                                 throws java.lang.ClassNotFoundException,
                                        java.lang.SecurityException,
                                        java.lang.NoSuchFieldException,
                                        java.lang.IllegalArgumentException,
                                        java.lang.IllegalAccessException
Throws:
java.lang.ClassNotFoundException
java.lang.SecurityException
java.lang.NoSuchFieldException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException

getImplementation

@NonNull
public LibraryOperation getImplementation(@NonNull
                                                  Operation operation)

getImplementation

@NonNull
public LibraryProperty getImplementation(@Nullable
                                                 java.lang.Object sourceValue,
                                                 @NonNull
                                                 Property property)

getImplementationManager

@NonNull
public ImplementationManager getImplementationManager()

getInfixPrecedence

@Nullable
public Precedence getInfixPrecedence(@NonNull
                                              java.lang.String operatorName)

getInheritance

@NonNull
public DomainInheritance getInheritance(@NonNull
                                                DomainType type)
Description copied from interface: DomainStandardLibrary
Return the Inheritance dispatch table for a given type.

Specified by:
getInheritance in interface DomainStandardLibrary

getLambdaManager

@NonNull
public LambdaTypeManager getLambdaManager()

getLambdaType

@NonNull
public LambdaType getLambdaType(@NonNull
                                        java.lang.String typeName,
                                        @NonNull
                                        Type contextType,
                                        @NonNull
                                        java.util.List<? extends Type> parameterTypes,
                                        @NonNull
                                        Type resultType,
                                        @Nullable
                                        java.util.Map<TemplateParameter,ParameterableElement> bindings)

getLibraries

@NonNull
public java.util.List<Library> getLibraries()

getLibraryResource

@Nullable
public org.eclipse.emf.ecore.resource.Resource getLibraryResource()

getLibraryType

@Nullable
public Type getLibraryType(@NonNull
                                    java.lang.String string,
                                    @NonNull
                                    java.util.List<? extends ParameterableElement> templateArguments)

getLibraryType

@NonNull
public <T extends Type> T getLibraryType(@NonNull
                                                 T libraryType,
                                                 @NonNull
                                                 java.util.List<? extends ParameterableElement> templateArguments)

getLocalClasses

@NonNull
public java.lang.Iterable<TypeServer> getLocalClasses(@NonNull
                                                              Package pkg)

getLocalComments

public java.lang.Iterable<Comment> getLocalComments(@NonNull
                                                    Operation operation)

getLocalComments

@NonNull
public java.lang.Iterable<Comment> getLocalComments(@NonNull
                                                            Property property)

getLocalComments

@NonNull
public java.lang.Iterable<Comment> getLocalComments(@NonNull
                                                            Type type)

getLocalInvariants

@NonNull
public java.lang.Iterable<Constraint> getLocalInvariants(@NonNull
                                                                 Type type)

getLockingObject

@Nullable
public org.eclipse.emf.ecore.EObject getLockingObject()

getMemberOperations

@NonNull
public java.lang.Iterable<Operation> getMemberOperations(@NonNull
                                                                 Type type,
                                                                 boolean selectStatic)

getMemberPackages

@NonNull
public java.lang.Iterable<? extends PackageServer> getMemberPackages(@NonNull
                                                                             DomainPackage pkg)

getMetaModelManager

@NonNull
public MetaModelManager getMetaModelManager()
Specified by:
getMetaModelManager in interface MetaModelManageable

getMetamodelNsURI

@Nullable
public java.lang.String getMetamodelNsURI(@NonNull
                                                   org.eclipse.emf.ecore.EPackage ePackage)

getMemberProperties

@NonNull
public java.lang.Iterable<Property> getMemberProperties(@NonNull
                                                                Type type,
                                                                boolean selectStatic)

getMetaclass

@NonNull
public Metaclass<?> getMetaclass(@NonNull
                                         DomainType domainInstanceType)
Description copied from interface: DomainStandardLibrary
Return the instance of the Metaclass metatype whose class is classType.

Specified by:
getMetaclass in interface DomainStandardLibrary

getMetaType

public DomainType getMetaType(@NonNull
                              DomainType instanceType)
Description copied from interface: DomainStandardLibrary
Returns the meta-type of a given type.

Specified by:
getMetaType in interface DomainStandardLibrary
Overrides:
getMetaType in class AbstractStandardLibrary

getMutable

@NonNull
protected Type getMutable(@NonNull
                                  Type asType)

getNestedPackage

public DomainPackage getNestedPackage(@NonNull
                                      DomainPackage domainPackage,
                                      @NonNull
                                      java.lang.String name)
Specified by:
getNestedPackage in interface DomainStandardLibrary
Overrides:
getNestedPackage in class AbstractStandardLibrary

getNestedType

public DomainType getNestedType(@NonNull
                                DomainPackage domainPackage,
                                @NonNull
                                java.lang.String name)
Specified by:
getNestedType in interface DomainStandardLibrary
Overrides:
getNestedType in class AbstractStandardLibrary

getNsURIPackage

public DomainPackage getNsURIPackage(@NonNull
                                     java.lang.String nsURI)
Specified by:
getNsURIPackage in interface DomainStandardLibrary
Overrides:
getNsURIPackage in class AbstractStandardLibrary

getOclType

@Nullable
public DomainType getOclType(@NonNull
                                      java.lang.String typeName)
Specified by:
getOclType in interface DomainStandardLibrary

getOperationTemplateParameter

@Nullable
public DomainElement getOperationTemplateParameter(@NonNull
                                                            DomainOperation anOperation,
                                                            int index)
Specified by:
getOperationTemplateParameter in interface DomainStandardLibrary
Overrides:
getOperationTemplateParameter in class AbstractStandardLibrary

getOrderedSetType

@NonNull
public CollectionType getOrderedSetType(@NonNull
                                                DomainType elementType,
                                                @Nullable
                                                IntegerValue lower,
                                                @Nullable
                                                IntegerValue upper)
Description copied from interface: DomainStandardLibrary
Return the instance of the OrderedSet metatype whose elements are of elementType.

Specified by:
getOrderedSetType in interface DomainStandardLibrary

getOrderedSetType

@NonNull
public CollectionType getOrderedSetType(@NonNull
                                                Type elementType,
                                                @Nullable
                                                IntegerValue lower,
                                                @Nullable
                                                IntegerValue upper)

getOrphanage

@NonNull
public Orphanage getOrphanage()

getPackageManager

public PackageManager getPackageManager()

getPackageServer

@NonNull
public PackageServer getPackageServer(@NonNull
                                              DomainPackage asPackage)

getParserContext

@Nullable
public ParserContext getParserContext(@NonNull
                                               Element element,
                                               java.lang.Object... todoParameters)
Return a parserContext suitable for parsing OCL expressions in the context of a pivot element.

Throws:
ParserException - if eObject cannot be converted to a Pivot element

getPartialPackages

@NonNull
public java.lang.Iterable<? extends DomainPackage> getPartialPackages(@NonNull
                                                                              DomainPackage pkg,
                                                                              boolean loadASMetamodelFirst)

getPartialTypes

@NonNull
public java.lang.Iterable<? extends DomainType> getPartialTypes(@NonNull
                                                                        DomainType pivotType)

getPivotOf

@Nullable
public <T extends Element> T getPivotOf(@NonNull
                                                 java.lang.Class<T> pivotClass,
                                                 @Nullable
                                                 org.eclipse.emf.ecore.EObject eObject)
                             throws ParserException
Throws:
ParserException

getPivotOfEcore

@Nullable
public <T extends Element> T getPivotOfEcore(@NonNull
                                                      java.lang.Class<T> pivotClass,
                                                      @Nullable
                                                      org.eclipse.emf.ecore.EObject eObject)

getPivotType

@Nullable
public Type getPivotType(@NonNull
                                  java.lang.String className)
Return the pivot model class for className with the Pivot Model.


getPrecedenceManager

@NonNull
protected PrecedenceManager getPrecedenceManager()

getPrefixPrecedence

@Nullable
public Precedence getPrefixPrecedence(@NonNull
                                               java.lang.String operatorName)

getPrimaryElement

@NonNull
public <T extends org.eclipse.emf.ecore.EObject> T getPrimaryElement(@NonNull
                                                                             T element)

getPrimaryOperation

@NonNull
public DomainOperation getPrimaryOperation(@NonNull
                                                   DomainOperation pivotOperation)

getPrimaryPackage

@Nullable
public PackageServer getPrimaryPackage(@NonNull
                                                java.lang.String nsURI,
                                                java.lang.String... subPackagePath)
Lookup a primary package by its URI and optionally a sub-package path.


getPrimaryPackage

@NonNull
public DomainPackage getPrimaryPackage(@NonNull
                                               DomainPackage aPackage)
Lookup a primary sub-package. public @Nullable PackageServer getPrimaryPackage(@NonNull DomainPackage parentPackage, @NonNull String subPackageName) { PackageTracker packageTracker = packageManager.findPackageTracker(parentPackage); if (packageTracker != null) { return packageTracker.getPackageServer().getMemberPackage(subPackageName); } else { return PivotUtil.getNamedElement(parentPackage.getNestedPackage(), subPackageName); } }


getPrimaryProperty

@NonNull
public DomainProperty getPrimaryProperty(@NonNull
                                                 DomainProperty pivotProperty)

getPrimaryType

@NonNull
public Type getPrimaryType(@NonNull
                                   DomainType type)

getPrimaryType

@Nullable
public Type getPrimaryType(@NonNull
                                    java.lang.String nsURI,
                                    @NonNull
                                    java.lang.String path,
                                    java.lang.String... extraPath)

getProjectMap

@NonNull
public StandaloneProjectMap getProjectMap()
Return the ProjectMap used to resolve EPackages for the extertnalResourceSet.


getResource

@NonNull
public ASResource getResource(@NonNull
                                      org.eclipse.emf.common.util.URI uri,
                                      @Nullable
                                      java.lang.String contentType)
Lookup a primary type. public @Nullable Type getPrimaryType(@NonNull PackageServer parentPackage, @NonNull String typeName) { PackageServer packageServer = packageManager.getPackageServer(parentPackage); return packageServer.getMemberType(typeName); // PackageTracker packageTracker = packageManager.getPackageTracker(parentPackage); // if (packageTracker != null) { // return packageTracker.getPackageServer().getMemberType(typeName); // } // else { // return PivotUtil.getNamedElement(getLocalClasses(parentPackage), typeName); // return PivotUtil.getNamedElement(parentPackage.getOwnedType(), typeName); // } }


getResourceIdentifier

@Deprecated
public org.eclipse.emf.common.util.URI getResourceIdentifier(java.lang.Object uniqueContext,
                                                                        java.lang.String subContext)
Deprecated. URIs are auto-generated

Return the URI to be used for a concrete syntax resource for an expression associated with a uniqueContext. If uniqueContext is an Element the moniker is used as part of the URI, otherwise a unique value is created and cached for reuse.


getRootPackage

@Nullable
public Package getRootPackage(@NonNull
                                       java.lang.String name)
Specified by:
getRootPackage in interface DomainStandardLibrary
Overrides:
getRootPackage in class AbstractStandardLibrary

getSequenceType

@NonNull
public CollectionType getSequenceType(@NonNull
                                              DomainType elementType,
                                              @Nullable
                                              IntegerValue lower,
                                              @Nullable
                                              IntegerValue upper)
Description copied from interface: DomainStandardLibrary
Return the instance of the Sequence metatype whose elements are of elementType.

Specified by:
getSequenceType in interface DomainStandardLibrary

getSequenceType

@NonNull
public CollectionType getSequenceType(@NonNull
                                              Type elementType,
                                              @Nullable
                                              IntegerValue lower,
                                              @Nullable
                                              IntegerValue upper)

getSetType

@NonNull
public CollectionType getSetType(@NonNull
                                         DomainType elementType,
                                         @Nullable
                                         IntegerValue lower,
                                         @Nullable
                                         IntegerValue upper)
Description copied from interface: DomainStandardLibrary
Return the instance of the Set metatype whose elements are of elementType.

Specified by:
getSetType in interface DomainStandardLibrary

getSetType

@NonNull
public CollectionType getSetType(@NonNull
                                         Type elementType,
                                         @Nullable
                                         IntegerValue lower,
                                         @Nullable
                                         IntegerValue upper)

getSpecializedCollectionType

@NonNull
protected CollectionType getSpecializedCollectionType(@NonNull
                                                              CollectionType type,
                                                              @NonNull
                                                              java.util.Map<TemplateParameter,ParameterableElement> usageBindings)

getSpecializedLambdaType

@NonNull
protected Type getSpecializedLambdaType(@NonNull
                                                LambdaType type,
                                                @Nullable
                                                java.util.Map<TemplateParameter,ParameterableElement> usageBindings)

getSpecializedMetaclass

@NonNull
protected Metaclass<?> getSpecializedMetaclass(@NonNull
                                                       Metaclass<?> type,
                                                       @NonNull
                                                       java.util.Map<TemplateParameter,ParameterableElement> usageBindings)

getSpecializedType

@NonNull
public Type getSpecializedType(@NonNull
                                       Type type,
                                       @Nullable
                                       java.util.Map<TemplateParameter,ParameterableElement> usageBindings)

getSuperClasses

public java.lang.Iterable<Type> getSuperClasses(Type pivotType)

getTarget

public org.eclipse.emf.ecore.resource.ResourceSet getTarget()
Specified by:
getTarget in interface org.eclipse.emf.common.notify.Adapter

getTupleManager

public TupleTypeManager getTupleManager()

getTupleType

@NonNull
public TupleType getTupleType(@NonNull
                                      java.lang.String typeName,
                                      @NonNull
                                      java.util.Collection<? extends DomainTypedElement> parts,
                                      @Nullable
                                      java.util.Map<TemplateParameter,ParameterableElement> bindings)

getTupleType

@NonNull
public TupleType getTupleType(@NonNull
                                      TupleType tupleType,
                                      @Nullable
                                      java.util.Map<TemplateParameter,ParameterableElement> bindings)

getType

@NonNull
public Type getType(@NonNull
                            DomainType dType)

getTypeServer

@NonNull
public TypeServer getTypeServer(@NonNull
                                        DomainType pivotType)

installPropertyDeclaration

public void installPropertyDeclaration(@NonNull
                                       Property thisProperty)
Create implicit an opposite property if there is no explicit opposite.


installResource

public void installResource(@NonNull
                            org.eclipse.emf.ecore.resource.Resource asResource)

installRoot

public void installRoot(@NonNull
                        Root pivotRoot)

isAdapterFor

public boolean isAdapterFor(@NonNull
                            MetaModelManager metaModelManager)

isAdapterForType

public boolean isAdapterForType(java.lang.Object type)
Specified by:
isAdapterForType in interface org.eclipse.emf.common.notify.Adapter

isSuperClassOf

public boolean isSuperClassOf(@NonNull
                              Type unspecializedFirstType,
                              @NonNull
                              Type secondType)

isTypeServeable

public boolean isTypeServeable(@NonNull
                               DomainType type)

isUnderspecified

public boolean isUnderspecified(@Nullable
                                ParameterableElement type)
Retyurn true if this type involves an UnspecifiedType.


isUnspecialized

protected boolean isUnspecialized(@NonNull
                                  java.util.List<TemplateParameter> templateParameters,
                                  @NonNull
                                  java.util.List<? extends ParameterableElement> templateArguments)

loadASMetamodel

protected void loadASMetamodel(@NonNull
                               Package asLibrary)
Load the Pivot MetaModel of the Pivot Model to accompany a given asLibrary. If this asLibrary has an Element type it is assumed to be a complete custom meta-model and it is used as such. Otherwise the built-in Pivot Metamodel is created with name, nsPrefix and nsURI determined by the given library.

Parameters:
asLibrary -

loadDefaultLibrary

@Nullable
protected org.eclipse.emf.ecore.resource.Resource loadDefaultLibrary(@Nullable
                                                                              java.lang.String uri)
Specified by:
loadDefaultLibrary in class PivotStandardLibrary

loadResource

@Nullable
public Element loadResource(@NonNull
                                     org.eclipse.emf.common.util.URI uri,
                                     java.lang.String alias,
                                     @Nullable
                                     org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
                     throws ParserException
Throws:
ParserException

loadEPackage

public org.eclipse.emf.ecore.EPackage loadEPackage(@NonNull
                                                   org.eclipse.emf.ecore.EPackage ePackage)
Ensure that EPackage has been loaded in the externalResourceSet PackageRegistry.


loadResource

@Nullable
public Element loadResource(@NonNull
                                     org.eclipse.emf.ecore.resource.Resource resource,
                                     @Nullable
                                     org.eclipse.emf.common.util.URI uri)
                     throws ParserException
Throws:
ParserException

lookupImplementation

@NonNull
public LibraryFeature lookupImplementation(@NonNull
                                                   DomainOperation dynamicOperation)
                                    throws java.lang.SecurityException,
                                           java.lang.IllegalArgumentException,
                                           java.lang.ClassNotFoundException,
                                           java.lang.NoSuchFieldException,
                                           java.lang.IllegalAccessException
Throws:
java.lang.SecurityException
java.lang.IllegalArgumentException
java.lang.ClassNotFoundException
java.lang.NoSuchFieldException
java.lang.IllegalAccessException

notifyChanged

public void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
Specified by:
notifyChanged in interface org.eclipse.emf.common.notify.Adapter

rebindTemplateBindings

protected void rebindTemplateBindings(@NonNull
                                      java.util.Map<TemplateParameter,ParameterableElement> typeBindings,
                                      @NonNull
                                      java.util.Map<TemplateParameter,ParameterableElement> usageBindings)

removeExternalResource

public void removeExternalResource(@NonNull
                                   External2Pivot external2Pivot)

removeListener

public void removeListener(@NonNull
                           MetaModelManagerListener listener)

resolveAllOperations

protected void resolveAllOperations(@NonNull
                                    java.util.Set<Operation> allOperations,
                                    @NonNull
                                    Type forType,
                                    @Nullable
                                    FeatureFilter featureFilter,
                                    @NonNull
                                    java.lang.String operationName,
                                    @NonNull
                                    java.util.List<Parameter> parameters)
Return all matching operations.


resolveBaseOperation

@NonNull
public Operation resolveBaseOperation(@NonNull
                                              Operation operation)
Return the un-overloaded operation.


resolveLocalOperation

@Nullable
public java.util.Set<Operation> resolveLocalOperation(@NonNull
                                                               Type pivotClass,
                                                               @NonNull
                                                               java.lang.String operationName,
                                                               Type... pivotArguments)

resolveOperation

public Operation resolveOperation(@NonNull
                                  Type leftType,
                                  @NonNull
                                  java.lang.String operationName,
                                  Type... rightTypes)

resolveOperations

public java.util.Set<Operation> resolveOperations(@NonNull
                                                  Type pivotClass,
                                                  @NonNull
                                                  java.lang.String operationName,
                                                  Type... pivotArguments)

setASMetamodel

public void setASMetamodel(DomainPackage asPackage)

setAutoLoadASMetamodel

public void setAutoLoadASMetamodel(boolean autoLoadASMetamodel)

setDefaultStandardLibraryURI

public void setDefaultStandardLibraryURI(@NonNull
                                         java.lang.String defaultStandardLibraryURI)

setLibraryLoadInProgress

public void setLibraryLoadInProgress(boolean libraryLoadInProgress)

setMetamodelNsURI

public void setMetamodelNsURI(@NonNull
                              java.lang.String metaNsURI)

setTarget

public void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
Specified by:
setTarget in interface org.eclipse.emf.common.notify.Adapter

unsetTarget

public void unsetTarget(org.eclipse.emf.common.notify.Notifier oldTarget)
Specified by:
unsetTarget in interface org.eclipse.emf.common.notify.Adapter.Internal