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, getAdapter
public 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()
EnvironmentFactory
public Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> loadEnvironment(Resource resource)
EnvironmentFactory
resource
- 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)
EnvironmentFactory
parent
, for
definition of nested scopes.parent
- the parent environmentpublic EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> createEvaluationEnvironment()
EnvironmentFactory
public EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> createEvaluationEnvironment(EvaluationEnvironment<EClassifier,EOperation,EStructuralFeature,EClass,EObject> parent)
EnvironmentFactory
parent
- a nesting evaluation environmentpublic OCLAnalyzer createOCLAnalyzer(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env, String input)
EnvironmentFactory
createOCLAnalyzer
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)
EnvironmentFactory
createOCLAnalyzer
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)
EnvironmentFactory
createOCLFactoryWithHistory
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)
EnvironmentFactory
createOCLSyntaxHelper
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)
EnvironmentFactory
createValidationVisitor
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)
EnvironmentFactory
createEvaluationVisitor
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.