Interface Attribution

Type Parameters:
T -
All Known Subinterfaces:
All Known Implementing Classes:
AbstractAttribution, AbstractRootCSAttribution, ClassAttribution, ClassCSAttribution, ClassifierContextCSAttribution, CompleteOCLDocumentCSAttribution, ConstraintCSAttribution, ConstructorPartCSAttribution, ContextCSAttribution, DataTypeAttribution, DataTypeCSAttribution, DefaultAttribution, EmptyAttribution, EnumerationAttribution, ExpressionInOCLAttribution, ExpSpecificationCSAttribution, ImportCSAttribution, IncludeCSAttribution, InvocationExpCSAttribution, IterateExpAttribution, IteratorExpAttribution, LambdaTypeCSAttribution, LetExpAttribution, LetExpCSAttribution, LetVariableCSAttribution, LibOperationCSAttribution, LibPackageCSAttribution, LibraryAttribution, LibraryCSAttribution, MetaclassAttribution, NavigatingArgCSAttribution, NavigationOperatorCSAttribution, NullAttribution, OperationAttribution, OperationCallExpAttribution, OperationContextCSAttribution, OperationCSAttribution, PackageAttribution, PackageCSAttribution, PackageDeclarationCSAttribution, PathElementCSAttribution, PivotCSAttribution, PropertyContextCSAttribution, ReferenceCSAttribution, RootAttribution, RootPackageCSAttribution, SpecificationCSAttribution, TemplateParameterSubstitutionCSAttribution, TemplateSignatureCSAttribution, TypedTypeRefCSAttribution, UnspecifiedTypeAttribution, VariableAttribution, VoidTypeAttribution

public interface Attribution

An Attribution provides a helper to assist in evaluating the inheriteed or synthesized attributes of a type. All helpers are static and stateless, although some may maintain state using an Adapter on the target element. The REGISTRY maintains the helpsers for each type. Missing entries may be lazily populated by following the primary superclasses until an entry is found.

Field Summary
static java.util.Map<org.eclipse.emf.ecore.EClassifier,Attribution> REGISTRY
          The per-classifier registry of attributions.
Method Summary
 ScopeView computeLookup(org.eclipse.emf.ecore.EObject target, EnvironmentView environmentView, ScopeView scopeView)
          Add the local lookup contributions to a view of an Environment.

Field Detail


static final java.util.Map<org.eclipse.emf.ecore.EClassifier,Attribution> REGISTRY
The per-classifier registry of attributions.

Method Detail


ScopeView computeLookup(@NonNull
                                 org.eclipse.emf.ecore.EObject target,
                                 EnvironmentView environmentView,
                                 ScopeView scopeView)
Add the local lookup contributions to a view of an Environment.

The EnvironmentView contains the lookup matching criteria such as a specific name and accumulates candidate results.

The input ScopeView identifies the CS node and the containment of the CS child from which the lookup is made allowing derived implementations to present the alternative environments specified as the Inherited Attributes in the OCL Specification.

The returned ScopeView identifies an outer scope in which the lookup may be continued if the local candidate results are not suitable.

environmentView - the EnvironmentView to compute
scopeView - the access selectivity to be applied by the lookup
an outer ScopeView in which to continue the lookup, or null if none