public class MetaModelManager extends PivotStandardLibrary implements org.eclipse.emf.common.notify.Adapter.Internal, MetaModelManageable
Modifier and Type | Class and Description |
---|---|
static class |
MetaModelManager.AbstractFactory |
class |
MetaModelManager.CompleteClassPropertiesIterable |
class |
MetaModelManager.CompleteClassSuperClassesIterable |
class |
MetaModelManager.CompleteElementCommentsIterable |
class |
MetaModelManager.CompleteElementInvariantsIterable |
class |
MetaModelManager.CompleteTypeOperationsIterable |
static interface |
MetaModelManager.Factory
An OrphanClient adapts an EObject with an eReference to an OrphanServer within the domina of a TypeCache.
|
Modifier and Type | Field and Description |
---|---|
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.
|
protected java.util.List<Library> |
pivotLibraries
All Library packages imported into the current type managed domain.
|
protected org.eclipse.emf.ecore.resource.Resource |
pivotLibraryResource
The resource of the first of the pivotLibraries.
|
protected DomainPackage |
pivotMetaModel |
protected org.eclipse.emf.ecore.resource.ResourceSet |
pivotResourceSet |
DEFAULT_OCL_STDLIB_URI, defaultStandardLibraryURI
Constructor and Description |
---|
MetaModelManager() |
MetaModelManager(org.eclipse.emf.ecore.resource.ResourceSet pivotResourceSet)
Construct a MetaModelManager that will use pivotResourceSet 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.
|
Modifier and Type | Method and Description |
---|---|
void |
addClassLoader(java.lang.ClassLoader classLoader) |
void |
addExternalResource(External2Pivot external2Pivot) |
static void |
addFactory(MetaModelManager.Factory factory) |
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) |
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.
|
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> |
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() |
org.eclipse.emf.ecore.resource.Resource |
createResource(org.eclipse.emf.common.util.URI uri,
java.lang.String contentType)
Deprecated.
|
<T extends Root> |
createRoot(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
java.lang.String name,
java.lang.String externalURI) |
Root |
createRoot(java.lang.String name,
java.lang.String externalURI) |
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,
boolean selectStatic) |
java.lang.Iterable<? extends DomainOperation> |
getAllOperations(DomainType type,
boolean selectStatic,
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,
boolean selectStatic) |
java.lang.Iterable<? extends DomainProperty> |
getAllProperties(DomainType type,
boolean selectStatic,
java.lang.String name) |
java.lang.Iterable<? extends DomainType> |
getAllSuperClasses(DomainType type) |
java.lang.Iterable<Type> |
getAllTypes(Type pivotType)
Deprecated.
|
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> |
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> |
getEcoreOfPivot(java.lang.Class<T> ecoreClass,
Element element) |
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) |
LibraryOperation |
getImplementation(Operation operation) |
LibraryProperty |
getImplementation(Property property) |
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> |
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() |
DomainType |
getMetaType(DomainType instanceType)
Returns the meta-type of a given type.
|
DomainPackage |
getNestedPackage(DomainPackage packageServer,
java.lang.String name) |
DomainType |
getNestedType(DomainPackage packageServer,
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 pivotPackage) |
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 loadPivotMetaModelFirst) |
java.lang.Iterable<? extends DomainType> |
getPartialTypes(DomainType pivotType) |
DomainPackage |
getPivotMetaModel() |
<T extends Element> |
getPivotOf(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EObject eObject) |
<T extends Element> |
getPivotOfEcore(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EObject eObject) |
org.eclipse.emf.ecore.resource.ResourceSet |
getPivotResourceSet() |
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> |
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) |
org.eclipse.emf.ecore.resource.Resource |
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.
|
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 |
initializePivotResourceSet(org.eclipse.emf.ecore.resource.ResourceSet pivotResourceSet) |
java.util.List<Property> |
installPropertyDeclaration(Property thisProperty)
Create implicit an opposite property if there is no explicit opposite.
|
void |
installResource(org.eclipse.emf.ecore.resource.Resource pivotResource) |
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 org.eclipse.emf.ecore.resource.Resource |
loadDefaultLibrary(java.lang.String uri) |
protected void |
loadPivotMetaModel(Package pivotLibrary)
Load the Pivot MetaModel of the Pivot Model to accompany a given pivotLibrary.
|
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,
boolean selectStatic,
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 |
setAutoLoadPivotMetaModel(boolean autoLoadPivotMetaModel) |
void |
setDefaultStandardLibraryURI(java.lang.String defaultStandardLibraryURI) |
void |
setLibraryLoadInProgress(boolean libraryLoadInProgress) |
void |
setPivotMetaModel(DomainPackage pivotPackage) |
void |
setTarget(org.eclipse.emf.common.notify.Notifier newTarget) |
void |
unsetTarget(org.eclipse.emf.common.notify.Notifier oldTarget) |
defineLibraryType, getBagType, getBooleanType, getClassType, getCollectionType, getEnumerationType, getIntegerType, getLibraryType, getMetaclassType, getOclAnyType, getOclComparableType, getOclElementType, getOclInvalidType, getOclLambdaType, getOclMessageType, getOclSelfType, getOclSummableType, getOclTupleType, getOclVoidType, getOrderedSetType, getRealType, getRequiredLibraryType, getSequenceType, getSetType, getStringType, getUniqueCollectionType, getUnlimitedNaturalType, isOrdered, isUnique, resetLibrary, resolveRequiredSimpleType, resolveRequiredTemplateableType
conformsToLambdaType, conformsToTupleType, getBagType, getCollectionType, getEnumeration, getOrderedSetType, getPrimitiveType, getRootPackage, getSequenceType, getSetType, isEqualToCollectionType, isEqualToTupleType, weakGet
@NonNull public static final java.util.List<Comment> EMPTY_COMMENT_LIST
@NonNull public static final java.util.List<Constraint> EMPTY_CONSTRAINT_LIST
@NonNull public static final java.util.List<Element> EMPTY_ELEMENT_LIST
@NonNull public static final java.util.List<Operation> EMPTY_OPERATION_LIST
@NonNull public static final java.util.List<Property> EMPTY_PROPERTY_LIST
@NonNull public static final java.util.List<State> EMPTY_STATE_LIST
@NonNull public static final java.util.List<TemplateParameter> EMPTY_TEMPLATE_PARAMETER_LIST
@NonNull public static final java.util.List<Type> EMPTY_TYPE_LIST
@NonNull public static final java.util.List<TypeServer> EMPTY_TYPE_SERVER_LIST
public static java.util.WeakHashMap<MetaModelManager,java.lang.Object> liveMetaModelManagers
protected DomainPackage pivotMetaModel
@NonNull protected final org.eclipse.emf.ecore.resource.ResourceSet pivotResourceSet
@NonNull protected final java.util.List<Library> pivotLibraries
protected org.eclipse.emf.ecore.resource.Resource pivotLibraryResource
protected org.eclipse.emf.ecore.resource.impl.ResourceSetImpl externalResourceSet
@NonNull protected final PivotIdResolver idResolver
public MetaModelManager()
public MetaModelManager(@NonNull StandaloneProjectMap projectMap)
public MetaModelManager(@NonNull org.eclipse.emf.ecore.resource.ResourceSet pivotResourceSet)
ProjectMap.getAdapter(ResourceSet)
to assist in locating resources.public static void addFactory(@NonNull MetaModelManager.Factory factory)
@Nullable public static MetaModelManager findAdapter(@Nullable org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
@NonNull public static MetaModelManager getAdapter(@NonNull org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
public static void initializePivotResourceSet(@NonNull org.eclipse.emf.ecore.resource.ResourceSet pivotResourceSet)
public void addClassLoader(@NonNull java.lang.ClassLoader classLoader)
public void addExternalResource(@NonNull External2Pivot external2Pivot)
public void addGenModel(@NonNull org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
public void addGenPackage(@NonNull org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage)
@Nullable public DomainNamespace addGlobalNamespace(@NonNull java.lang.String name, @NonNull DomainNamespace namespace)
public boolean addGlobalTypes(@NonNull java.util.Collection<Type> types)
public void addListener(@NonNull MetaModelManagerListener listener)
public void addLockedElement(@NonNull java.lang.Object lockedElement)
public void addOrphanClass(@NonNull Type pivotElement)
public int compareOperationMatches(@NonNull Operation reference, @Nullable java.util.Map<TemplateParameter,ParameterableElement> referenceBindings, @NonNull Operation candidate, @Nullable java.util.Map<TemplateParameter,ParameterableElement> candidateBindings)
public boolean conformsTo(@NonNull Type firstType, @NonNull Type secondType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
public boolean conformsToCollectionType(@NonNull DomainCollectionType firstCollectionType, @NonNull DomainCollectionType secondCollectionType)
conformsToCollectionType
in interface DomainStandardLibrary
conformsToCollectionType
in class AbstractStandardLibrary
protected boolean conformsToCollectionType(@NonNull CollectionType firstType, @NonNull CollectionType secondType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
protected boolean conformsToLambdaType(@NonNull LambdaType actualType, @NonNull LambdaType requiredType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
protected boolean conformsToMetaclass(@NonNull Metaclass firstType, @NonNull Metaclass secondType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
protected boolean conformsToTupleType(@NonNull TupleType actualType, @NonNull TupleType requiredType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
@NonNull protected PivotIdResolver createIdResolver()
@NonNull protected ImplementationManager createImplementationManager()
@NonNull public InvalidLiteralExp createInvalidExpression()
@NonNull protected LambdaTypeManager createLambdaManager()
@NonNull protected Orphanage createOrphanage()
@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)
@NonNull protected PackageManager createPackageManager()
@NonNull protected PrecedenceManager createPrecedenceManager()
@Deprecated @NonNull public org.eclipse.emf.ecore.resource.Resource createResource(@NonNull org.eclipse.emf.common.util.URI uri, @Nullable java.lang.String contentType)
@NonNull public Root createRoot(java.lang.String name, java.lang.String externalURI)
@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)
@NonNull protected TupleTypeManager createTupleManager()
@NonNull public UnspecifiedType createUnspecifiedType()
public void dispose()
dispose
in class PivotStandardLibrary
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
@NonNull public java.lang.Iterable<Constraint> getAllInvariants(@NonNull Type pivotType)
@NonNull public java.lang.Iterable<? extends DomainOperation> getAllOperations(@NonNull DomainType type, boolean selectStatic)
@NonNull public java.lang.Iterable<? extends DomainOperation> getAllOperations(@NonNull DomainType type, boolean selectStatic, @NonNull java.lang.String name)
@NonNull public java.lang.Iterable<? extends DomainOperation> getAllOperations(@NonNull DomainOperation pivotOperation)
@NonNull public java.lang.Iterable<PackageServer> getAllPackages()
@NonNull public java.lang.Iterable<? extends DomainProperty> getAllProperties(@NonNull DomainType type, boolean selectStatic)
@NonNull public java.lang.Iterable<? extends DomainProperty> getAllProperties(@NonNull DomainType type, boolean selectStatic, @NonNull java.lang.String name)
@NonNull public java.lang.Iterable<? extends DomainProperty> getAllProperties(@NonNull DomainProperty pivotProperty)
@NonNull public java.lang.Iterable<? extends DomainType> getAllSuperClasses(@NonNull DomainType type)
@Deprecated @NonNull public java.lang.Iterable<Type> getAllTypes(@NonNull Type pivotType)
@NonNull public CollectionType getBagType(@NonNull DomainType elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
DomainStandardLibrary
getBagType
in interface DomainStandardLibrary
@NonNull public CollectionType getBagType(@NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@Nullable public OpaqueExpression getBodyExpression(@NonNull Operation operation)
@NonNull public CollectionType getCollectionType(boolean isOrdered, boolean isUnique)
@NonNull public CollectionType getCollectionType(@NonNull DomainType containerType, @NonNull DomainType elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
DomainStandardLibrary
getCollectionType
in interface DomainStandardLibrary
getCollectionType
in class AbstractStandardLibrary
@NonNull public CollectionType getCollectionType(boolean isOrdered, boolean isUnique, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@NonNull public Type getCollectionType(@NonNull java.lang.String collectionTypeName, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@NonNull public <T extends CollectionType> T getCollectionType(@NonNull T containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@NonNull public java.util.Set<DomainInheritance> getCommonClasses(@NonNull Type leftClass, @NonNull Type rightClass, @NonNull java.util.Set<DomainInheritance> commonClasses)
@NonNull public Type getCommonType(@NonNull Type leftType, @NonNull Type rightType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> templateParameterSubstitutions)
@NonNull public java.lang.String getDefaultStandardLibraryURI()
@Nullable public OpaqueExpression getDefaultExpression(@NonNull Property property)
@Nullable public <T extends org.eclipse.emf.ecore.EObject> T getEcoreOfPivot(@NonNull java.lang.Class<T> ecoreClass, @NonNull Element element)
public org.eclipse.emf.ecore.resource.ResourceSet getExternalResourceSet()
@Nullable public org.eclipse.emf.codegen.ecore.genmodel.GenPackage getGenPackage(@NonNull java.lang.String nsURI)
@NonNull public java.util.Set<java.util.Map.Entry<java.lang.String,DomainNamespace>> getGlobalNamespaces()
@NonNull public java.lang.Iterable<Type> getGlobalTypes()
@NonNull public PivotIdResolver getIdResolver()
@NonNull public LibraryFeature getImplementation(@NonNull Feature feature) throws java.lang.ClassNotFoundException, java.lang.SecurityException, java.lang.NoSuchFieldException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.ClassNotFoundException
java.lang.SecurityException
java.lang.NoSuchFieldException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
@NonNull public LibraryOperation getImplementation(@NonNull Operation operation)
@NonNull public LibraryProperty getImplementation(@NonNull Property property)
@NonNull public ImplementationManager getImplementationManager()
@Nullable public Precedence getInfixPrecedence(@NonNull java.lang.String operatorName)
@NonNull public DomainInheritance getInheritance(@NonNull DomainType type)
DomainStandardLibrary
getInheritance
in interface DomainStandardLibrary
@NonNull public LambdaTypeManager getLambdaManager()
@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)
public java.util.List<Library> getLibraries()
public org.eclipse.emf.ecore.resource.Resource getLibraryResource()
@Nullable public Type getLibraryType(@NonNull java.lang.String string, @NonNull java.util.List<? extends ParameterableElement> templateArguments)
@NonNull public <T extends Type> T getLibraryType(@NonNull T libraryType, @NonNull java.util.List<? extends ParameterableElement> templateArguments)
@NonNull public java.lang.Iterable<TypeServer> getLocalClasses(@NonNull Package pkg)
@NonNull public java.lang.Iterable<Comment> getLocalComments(@NonNull Property property)
@NonNull public java.lang.Iterable<Constraint> getLocalInvariants(@NonNull Type type)
@Nullable public org.eclipse.emf.ecore.EObject getLockingObject()
@NonNull public java.lang.Iterable<Operation> getMemberOperations(@NonNull Type type, boolean selectStatic)
@NonNull public java.lang.Iterable<? extends PackageServer> getMemberPackages(@NonNull DomainPackage pkg)
@NonNull public MetaModelManager getMetaModelManager()
getMetaModelManager
in interface MetaModelManageable
@NonNull public java.lang.Iterable<Property> getMemberProperties(@NonNull Type type, boolean selectStatic)
@NonNull public Metaclass getMetaclass(@NonNull DomainType domainInstanceType)
DomainStandardLibrary
getMetaclass
in interface DomainStandardLibrary
public DomainType getMetaType(@NonNull DomainType instanceType)
DomainStandardLibrary
getMetaType
in interface DomainStandardLibrary
getMetaType
in class AbstractStandardLibrary
public DomainPackage getNestedPackage(@NonNull DomainPackage packageServer, @NonNull java.lang.String name)
getNestedPackage
in interface DomainStandardLibrary
getNestedPackage
in class AbstractStandardLibrary
public DomainType getNestedType(@NonNull DomainPackage packageServer, @NonNull java.lang.String name)
getNestedType
in interface DomainStandardLibrary
getNestedType
in class AbstractStandardLibrary
public DomainPackage getNsURIPackage(@NonNull java.lang.String nsURI)
getNsURIPackage
in interface DomainStandardLibrary
getNsURIPackage
in class AbstractStandardLibrary
@Nullable public DomainType getOclType(@NonNull java.lang.String typeName)
getOclType
in interface DomainStandardLibrary
@Nullable public DomainElement getOperationTemplateParameter(@NonNull DomainOperation anOperation, int index)
getOperationTemplateParameter
in interface DomainStandardLibrary
getOperationTemplateParameter
in class AbstractStandardLibrary
@NonNull public CollectionType getOrderedSetType(@NonNull DomainType elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
DomainStandardLibrary
getOrderedSetType
in interface DomainStandardLibrary
@NonNull public CollectionType getOrderedSetType(@NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@NonNull public Orphanage getOrphanage()
public PackageManager getPackageManager()
@NonNull public PackageServer getPackageServer(@NonNull DomainPackage pivotPackage)
@Nullable public ParserContext getParserContext(@NonNull Element element, java.lang.Object... todoParameters)
ParserException
- if eObject cannot be converted to a Pivot element@NonNull public java.lang.Iterable<? extends DomainPackage> getPartialPackages(@NonNull DomainPackage pkg, boolean loadPivotMetaModelFirst)
@NonNull public java.lang.Iterable<? extends DomainType> getPartialTypes(@NonNull DomainType pivotType)
@Nullable public DomainPackage getPivotMetaModel()
@Nullable public <T extends Element> T getPivotOf(@NonNull java.lang.Class<T> pivotClass, @Nullable org.eclipse.emf.ecore.EObject eObject) throws ParserException
ParserException
@Nullable public <T extends Element> T getPivotOfEcore(@NonNull java.lang.Class<T> pivotClass, @Nullable org.eclipse.emf.ecore.EObject eObject)
@NonNull public org.eclipse.emf.ecore.resource.ResourceSet getPivotResourceSet()
@Nullable public Type getPivotType(@NonNull java.lang.String className)
@NonNull protected PrecedenceManager getPrecedenceManager()
@Nullable public Precedence getPrefixPrecedence(@NonNull java.lang.String operatorName)
@NonNull public <T extends org.eclipse.emf.ecore.EObject> T getPrimaryElement(@NonNull T element)
@NonNull public DomainOperation getPrimaryOperation(@NonNull DomainOperation pivotOperation)
@Nullable public PackageServer getPrimaryPackage(@NonNull java.lang.String nsURI, java.lang.String... subPackagePath)
@NonNull public DomainPackage getPrimaryPackage(@NonNull DomainPackage aPackage)
@NonNull public DomainProperty getPrimaryProperty(@NonNull DomainProperty pivotProperty)
@NonNull public Type getPrimaryType(@NonNull DomainType type)
@Nullable public Type getPrimaryType(@NonNull java.lang.String nsURI, @NonNull java.lang.String path, java.lang.String... extraPath)
@NonNull public org.eclipse.emf.ecore.resource.Resource getResource(@NonNull org.eclipse.emf.common.util.URI uri, @Nullable java.lang.String contentType)
@Deprecated public org.eclipse.emf.common.util.URI getResourceIdentifier(java.lang.Object uniqueContext, java.lang.String subContext)
@NonNull public CollectionType getSequenceType(@NonNull DomainType elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
DomainStandardLibrary
getSequenceType
in interface DomainStandardLibrary
@NonNull public CollectionType getSequenceType(@NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@NonNull public CollectionType getSetType(@NonNull DomainType elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
DomainStandardLibrary
getSetType
in interface DomainStandardLibrary
@NonNull public CollectionType getSetType(@NonNull Type elementType, @Nullable IntegerValue lower, @Nullable IntegerValue upper)
@NonNull protected CollectionType getSpecializedCollectionType(@NonNull CollectionType type, @NonNull java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
@NonNull protected Type getSpecializedLambdaType(@NonNull LambdaType type, @Nullable java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
@NonNull protected Metaclass getSpecializedMetaclass(@NonNull Metaclass type, @NonNull java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
@NonNull public Type getSpecializedType(@NonNull Type type, @Nullable java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
public org.eclipse.emf.ecore.resource.ResourceSet getTarget()
getTarget
in interface org.eclipse.emf.common.notify.Adapter
public TupleTypeManager getTupleManager()
@NonNull public TupleType getTupleType(@NonNull java.lang.String typeName, @NonNull java.util.Collection<? extends DomainTypedElement> parts, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
@NonNull public TupleType getTupleType(@NonNull TupleType tupleType, @Nullable java.util.Map<TemplateParameter,ParameterableElement> bindings)
@NonNull public Type getType(@NonNull DomainType dType)
@NonNull public TypeServer getTypeServer(@NonNull DomainType pivotType)
@Nullable public java.util.List<Property> installPropertyDeclaration(@NonNull Property thisProperty)
Returns a list of opposite properties that have ambiguous names as a result of establishing an implicit opposite.
public void installResource(@NonNull org.eclipse.emf.ecore.resource.Resource pivotResource)
public void installRoot(@NonNull Root pivotRoot)
public boolean isAdapterFor(@NonNull MetaModelManager metaModelManager)
public boolean isAdapterForType(java.lang.Object type)
isAdapterForType
in interface org.eclipse.emf.common.notify.Adapter
public boolean isSuperClassOf(@NonNull Type unspecializedFirstType, @NonNull Type secondType)
public boolean isTypeServeable(@NonNull DomainType type)
public boolean isUnderspecified(@Nullable ParameterableElement type)
protected boolean isUnspecialized(@NonNull java.util.List<TemplateParameter> templateParameters, @NonNull java.util.List<? extends ParameterableElement> templateArguments)
@Nullable protected org.eclipse.emf.ecore.resource.Resource loadDefaultLibrary(@Nullable java.lang.String uri)
loadDefaultLibrary
in class PivotStandardLibrary
protected void loadPivotMetaModel(@NonNull Package pivotLibrary)
pivotLibrary
- @Nullable public Element loadResource(@NonNull org.eclipse.emf.common.util.URI uri, java.lang.String alias, org.eclipse.emf.ecore.resource.ResourceSet resourceSet) throws ParserException
ParserException
@Nullable public Element loadResource(@NonNull org.eclipse.emf.ecore.resource.Resource resource, @Nullable org.eclipse.emf.common.util.URI uri) throws ParserException
ParserException
@NonNull public LibraryFeature lookupImplementation(@NonNull DomainOperation dynamicOperation) throws java.lang.SecurityException, java.lang.IllegalArgumentException, java.lang.ClassNotFoundException, java.lang.NoSuchFieldException, java.lang.IllegalAccessException
java.lang.SecurityException
java.lang.IllegalArgumentException
java.lang.ClassNotFoundException
java.lang.NoSuchFieldException
java.lang.IllegalAccessException
public void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
notifyChanged
in interface org.eclipse.emf.common.notify.Adapter
protected void rebindTemplateBindings(@NonNull java.util.Map<TemplateParameter,ParameterableElement> typeBindings, @NonNull java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
public void removeExternalResource(@NonNull External2Pivot external2Pivot)
public void removeListener(@NonNull MetaModelManagerListener listener)
protected void resolveAllOperations(@NonNull java.util.Set<Operation> allOperations, @NonNull Type forType, boolean selectStatic, @NonNull java.lang.String operationName, @NonNull java.util.List<Parameter> parameters)
@NonNull public Operation resolveBaseOperation(@NonNull Operation operation)
@Nullable public java.util.Set<Operation> resolveLocalOperation(@NonNull Type pivotClass, @NonNull java.lang.String operationName, Type... pivotArguments)
public Operation resolveOperation(@NonNull Type leftType, @NonNull java.lang.String operationName, Type... rightTypes)
public java.util.Set<Operation> resolveOperations(@NonNull Type pivotClass, @NonNull java.lang.String operationName, Type... pivotArguments)
public void setAutoLoadPivotMetaModel(boolean autoLoadPivotMetaModel)
public void setDefaultStandardLibraryURI(@NonNull java.lang.String defaultStandardLibraryURI)
public void setLibraryLoadInProgress(boolean libraryLoadInProgress)
public void setPivotMetaModel(DomainPackage pivotPackage)
public void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
setTarget
in interface org.eclipse.emf.common.notify.Adapter
public void unsetTarget(org.eclipse.emf.common.notify.Notifier oldTarget)
unsetTarget
in interface org.eclipse.emf.common.notify.Adapter.Internal