public class EcoreEnvironmentFactory extends AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>
EnvironmentFactory for parsing OCL expressions
on Ecore models.| Modifier and Type | Field and Description |
|---|---|
static EcoreEnvironmentFactory |
INSTANCE
A convenient shared instance of the environment factory, that creates
environments using the global package registry.
|
| Constructor and Description |
|---|
EcoreEnvironmentFactory()
Initializes me.
|
EcoreEnvironmentFactory(EPackage.Registry reg)
Initializes me with an
EPackage.Registry that the
environments I create will use to look up packages. |
| Modifier and Type | Method and Description |
|---|---|
Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> |
createEnvironment()
Creates a root environment, in which package contexts and/or classifier
contexts will be created as nested environments.
|
Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> |
createEnvironment(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> parent)
Creates a child environment of a specified
parent, for
definition of nested scopes. |
EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> |
createEvaluationEnvironment()
Creates a new evaluation environment to track the values of variables in
an OCL expression as it is evaluated.
|
EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> |
createEvaluationEnvironment(EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> parent)
Creates a new evaluation environment as a nested environment of the
specified parent.
|
EvaluationVisitor<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> |
createEvaluationVisitor(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env,
EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> evalEnv,
Map<? extends EClass,? extends Set<? extends EObject>> extentMap)
Creates a new evaluation visitor, for the evaluation of OCL expressions.
|
OCLAnalyzer |
createOCLAnalyzer(AbstractOCLParser parser)
Creates an instance of the OCLAnalyzer that will use
a given parser to perform syntactic and lexical analysis.
|
OCLAnalyzer |
createOCLAnalyzer(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env,
String input)
Creates an instance of the OCLAnalyzer that analyzes the
given input on behalf of this environment.
|
OCLFactoryWithHistory |
createOCLFactoryWithHistory(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
Creates an instance of the OCLFactoryWithHistory object for this environment.
|
OCLSyntaxHelper |
createOCLSyntaxHelper(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
Creates an instance of the OCLSyntaxHelper object for this environment.
|
Visitor<Boolean,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint> |
createValidationVisitor(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
Obtains an instance of the validation visitor that validates against the
specified environment, which presumably was used in parsing the OCL in
the first place.
|
EPackage.Registry |
getEPackageRegistry()
Obtains the package registry used by environment that I create to look
up packages.
|
OppositeEndFinder |
getOppositeEndFinder() |
Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> |
loadEnvironment(Resource resource)
Loads an environment from the specified resource.
|
createAttributeContext, createClassifierContext, createInstanceContext, createOperationContext, createPackageContext, getAdapterpublic static EcoreEnvironmentFactory INSTANCE
public EcoreEnvironmentFactory()
public EcoreEnvironmentFactory(EPackage.Registry reg)
EPackage.Registry that the
environments I create will use to look up packages.reg - my package registry (must not be null). Package
descriptors that are not yet resolved will not be resolved for
OCL package name lookups. To ensure that packages can be
referenced by their name, clients shall
EPackage.Registry.getEPackage(String) those
packages explicitly before asking OCL to look them up. See
also ParsingOptions.PACKAGE_LOOKUP_STRATEGY for
different package lookup strategies. Note also, that if a
"delegating registry" is used, packages contained only by the
delegate will not be found by an OCL lookup because
EPackage.Registry.values() only enumerates the
packages / descriptors contained by the outer registry.public Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> createEnvironment()
EnvironmentFactorypublic Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> loadEnvironment(Resource resource)
EnvironmentFactoryresource - a resource containing the persisted environmentpublic final EPackage.Registry getEPackageRegistry()
public Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> createEnvironment(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> parent)
EnvironmentFactoryparent, for
definition of nested scopes.parent - the parent environmentpublic EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> createEvaluationEnvironment()
EnvironmentFactorypublic EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> createEvaluationEnvironment(EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> parent)
EnvironmentFactoryparent - a nesting evaluation environmentpublic OCLAnalyzer createOCLAnalyzer(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env, String input)
EnvironmentFactorycreateOCLAnalyzer in interface EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>createOCLAnalyzer in class AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>input - the text to be analyzedpublic OCLAnalyzer createOCLAnalyzer(AbstractOCLParser parser)
EnvironmentFactorycreateOCLAnalyzer in interface EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>createOCLAnalyzer in class AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>parser - performing syntax analysispublic OCLFactoryWithHistory createOCLFactoryWithHistory(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
EnvironmentFactorycreateOCLFactoryWithHistory in interface EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>createOCLFactoryWithHistory in class AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>env - an OCL environment (must not be null)public OCLSyntaxHelper createOCLSyntaxHelper(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
EnvironmentFactorycreateOCLSyntaxHelper in interface EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>createOCLSyntaxHelper in class AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>env - an OCL environment (must not be null)public Visitor<Boolean,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint> createValidationVisitor(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
EnvironmentFactorycreateValidationVisitor in interface EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>createValidationVisitor in class AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>env - an OCL environment (must not be null)public OppositeEndFinder getOppositeEndFinder()
public EvaluationVisitor<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> createEvaluationVisitor(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env, EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> evalEnv, Map<? extends EClass,? extends Set<? extends EObject>> extentMap)
EnvironmentFactorycreateEvaluationVisitor in interface EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>createEvaluationVisitor in class AbstractEnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>env - the environment in which the expression was originally parsed
(or some compatible environment)evalEnv - the evaluation environment that the visitor is to use
for tracking variables, navigating properties, etc.extentMap - the map of Classes to their extendsCopyright © 2005, 2018 IBM Corporation and others. All Rights Reserved.