org.eclipse.ocl.examples.pivot.scoping
Class EnvironmentView
java.lang.Object
org.eclipse.ocl.examples.pivot.scoping.EnvironmentView
public class EnvironmentView
- extends java.lang.Object
An EnvironmentView provides a selective view of the environment visible at
some CS node.
The selection corresponds to an Environment lookup method as defined by the
OCL specification computed in accordance with the the Inherited Attributes.
The selective view is normally for just the single name required by the
lookUp, but may be for all names when a Completion Assist is required.
The EnvironmentView is computed on demand, rather than cached, since only
small parts of the overall environment are needed and caches may not remain
valid for long given the rapid recreation of CS nodes that occurs while
editing.
Method Summary |
boolean |
accepts(org.eclipse.emf.ecore.EClass eClass)
|
void |
addAllElements(Type type,
ScopeView scopeView)
|
void |
addAllEnumerationLiterals(Enumeration pivot)
|
void |
addAllOperations(Type type,
FeatureFilter featureFilter)
|
void |
addAllPackages(Package pkge)
|
void |
addAllPackages(Root root)
|
void |
addAllParameters(Operation pivot)
|
void |
addAllPrecedences(Library pivot)
|
void |
addAllProperties(Type type,
FeatureFilter featureFilter)
|
void |
addAllStates(Type type)
|
void |
addAllTemplateParameters(TemplateableElement pivot)
|
void |
addAllTypes(Package pkge)
|
void |
addAllTypeTemplateParameterables(TemplateableElement pivot)
|
static
|
addDisambiguator(java.lang.Class<T> targetClass,
java.util.Comparator<T> disambiguator)
|
void |
addElement(java.lang.String elementName,
DomainElement element)
|
void |
addElement(java.lang.String elementName,
java.lang.Object element)
Add an element with an elementName to the view |
void |
addElements(java.lang.Iterable<? extends java.lang.Object> elements)
|
void |
addElements(java.util.Map<java.lang.String,?> elements)
|
void |
addElementsOfScope(Element element,
ScopeView scopeView)
|
void |
addFilter(ScopeFilter filter)
|
void |
addImportedElement(org.eclipse.emf.common.util.URI baseURI)
|
void |
addLibContents(Type libType,
ScopeView scopeView)
|
void |
addNamedElement(DomainNamedElement namedElement)
|
void |
addNamedElement(Nameable namedElement)
|
void |
addNamedElements(java.lang.Iterable<? extends Nameable> namedElements)
|
void |
addRootPackages()
|
int |
computeLookups(Element target,
Element child)
|
int |
computeLookups(ScopeView scopeView)
|
void |
computeQualifiedLookups(Element target)
|
org.eclipse.emf.ecore.EObject |
getContent()
|
static java.lang.Iterable<java.lang.Class<?>> |
getDisambiguatorKeys()
|
static java.util.List<java.util.Comparator<java.lang.Object>> |
getDisambiguators(java.lang.Class<?> key)
|
java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> |
getEntries()
|
MetaModelManager |
getMetaModelManager()
|
java.lang.String |
getName()
|
org.eclipse.emf.ecore.EStructuralFeature |
getReference()
|
org.eclipse.emf.ecore.EClassifier |
getRequiredType()
|
int |
getSize()
|
boolean |
hasFinalResult()
Return true once the EnvironmentView has accumulated sufficient results
to satisfy the lookup criterion for which it was created. |
boolean |
isQualifier()
|
void |
removeFilter(ScopeFilter filter)
|
int |
resolveDuplicates()
|
void |
setBindings(java.lang.Object object,
java.util.Map<TemplateParameter,ParameterableElement> bindings)
|
void |
setIsQualifier(boolean isQualifier)
|
void |
setRequiredType(org.eclipse.emf.ecore.EClassifier requiredType)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
metaModelManager
@NonNull
protected final MetaModelManager metaModelManager
reference
@NonNull
protected final org.eclipse.emf.ecore.EStructuralFeature reference
name
@Nullable
protected final java.lang.String name
EnvironmentView
public EnvironmentView(@NonNull
MetaModelManager metaModelManager,
@NonNull
org.eclipse.emf.ecore.EStructuralFeature reference,
@Nullable
java.lang.String name)
addDisambiguator
public static <T> void addDisambiguator(@NonNull
java.lang.Class<T> targetClass,
@NonNull
java.util.Comparator<T> disambiguator)
getDisambiguatorKeys
@NonNull
public static java.lang.Iterable<java.lang.Class<?>> getDisambiguatorKeys()
getDisambiguators
@Nullable
public static java.util.List<java.util.Comparator<java.lang.Object>> getDisambiguators(@NonNull
java.lang.Class<?> key)
accepts
public boolean accepts(org.eclipse.emf.ecore.EClass eClass)
addAllElements
public void addAllElements(@NonNull
Type type,
@NonNull
ScopeView scopeView)
addAllEnumerationLiterals
public void addAllEnumerationLiterals(Enumeration pivot)
addAllOperations
public void addAllOperations(@NonNull
Type type,
@Nullable
FeatureFilter featureFilter)
addAllPackages
public void addAllPackages(@NonNull
Package pkge)
addAllPackages
public void addAllPackages(@NonNull
Root root)
addAllParameters
public void addAllParameters(@NonNull
Operation pivot)
addAllPrecedences
public void addAllPrecedences(@NonNull
Library pivot)
addAllProperties
public void addAllProperties(@NonNull
Type type,
@Nullable
FeatureFilter featureFilter)
addAllStates
public void addAllStates(@NonNull
Type type)
addAllTemplateParameters
public void addAllTemplateParameters(@NonNull
TemplateableElement pivot)
addAllTypeTemplateParameterables
public void addAllTypeTemplateParameterables(@NonNull
TemplateableElement pivot)
addAllTypes
public void addAllTypes(@NonNull
Package pkge)
addElement
public void addElement(java.lang.String elementName,
java.lang.Object element)
- Add an element with an elementName to the view
- Parameters:
elementName
- name of elementelement
- the element
addElement
public void addElement(java.lang.String elementName,
DomainElement element)
addElements
public void addElements(@NonNull
java.util.Map<java.lang.String,?> elements)
addElements
public void addElements(@Nullable
java.lang.Iterable<? extends java.lang.Object> elements)
addElementsOfScope
public void addElementsOfScope(@Nullable
Element element,
@NonNull
ScopeView scopeView)
addFilter
public void addFilter(@NonNull
ScopeFilter filter)
addImportedElement
public void addImportedElement(@NonNull
org.eclipse.emf.common.util.URI baseURI)
addLibContents
public void addLibContents(@NonNull
Type libType,
@NonNull
ScopeView scopeView)
addNamedElement
public void addNamedElement(Nameable namedElement)
addNamedElement
public void addNamedElement(DomainNamedElement namedElement)
addNamedElements
public void addNamedElements(java.lang.Iterable<? extends Nameable> namedElements)
addRootPackages
public void addRootPackages()
computeLookups
public int computeLookups(@NonNull
Element target,
@Nullable
Element child)
computeLookups
public int computeLookups(@NonNull
ScopeView scopeView)
computeQualifiedLookups
public void computeQualifiedLookups(@NonNull
Element target)
getContent
@Nullable
public org.eclipse.emf.ecore.EObject getContent()
getEntries
@NonNull
public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> getEntries()
getName
@Nullable
public java.lang.String getName()
getReference
@NonNull
public org.eclipse.emf.ecore.EStructuralFeature getReference()
getRequiredType
@Nullable
public org.eclipse.emf.ecore.EClassifier getRequiredType()
getSize
public int getSize()
getMetaModelManager
@NonNull
public MetaModelManager getMetaModelManager()
hasFinalResult
public boolean hasFinalResult()
- Return true once the EnvironmentView has accumulated sufficient results
to satisfy the lookup criterion for which it was created. i.e. any result
for a non-null name, all results for a null name.
isQualifier
public boolean isQualifier()
removeFilter
public void removeFilter(@NonNull
ScopeFilter filter)
resolveDuplicates
public int resolveDuplicates()
setBindings
public void setBindings(@NonNull
java.lang.Object object,
@Nullable
java.util.Map<TemplateParameter,ParameterableElement> bindings)
setIsQualifier
public void setIsQualifier(boolean isQualifier)
setRequiredType
public void setRequiredType(@Nullable
org.eclipse.emf.ecore.EClassifier requiredType)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object