org.eclipse.ocl.ecore
Class OCL

java.lang.Object
  extended by org.eclipse.ocl.OCL<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>
      extended by org.eclipse.ocl.ecore.OCL

public class OCL
extends OCL<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>

Convenient subclass of the OCL façade that binds the Ecore metamodel to the superclass's generic type parameters. This frees client code from the long list of parameter substitutions. This subclass also provides a shortcut to creating an OCL on the shared EcoreEnvironmentFactory instance.

See Also:
EcoreEnvironmentFactory

Nested Class Summary
static interface OCL.Helper
          Convenient interface aliasing the type parameter substitutions for the Ecore environment, for ease of typing.
static interface OCL.Query
          Convenient interface aliasing the type parameter substitutions for the UML environment, for ease of typing.
 
Constructor Summary
protected OCL(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
          Initializes me with an initial environment for the Ecore metamodel.
protected OCL(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory)
          Initializes me with an environment factory for the Ecore metamodel.
protected OCL(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory, Resource resource)
          Initializes me with an environment factory for the Ecore metamodel and a resource from which to load my root environment.
 
Method Summary
 OCL.Helper createOCLHelper()
          Creates a new OCLHelper instance for convenient parsing of embedded constraints and query expressions in this environment. The return type is narrowed to the Ecore binding for the generic OCLHelper<C,O,P,CT> type.
 OCL.Query createQuery(Constraint constraint)
          Creates a new Query encapsulating a constraint with the current environment and extent map. The return type is narrowed to the Ecore binding for the generic Query<C,CLS,E> type.
 OCL.Query createQuery(OCLExpression<EClassifier> query)
          Creates a new Query encapsulating a query expression with the current environment and extent map. The return type is narrowed to the Ecore binding for the generic Query<C,CLS,E> type.
static OCL newInstance()
          Creates a new OCL using the shared Ecore environment factory instance.
static OCL newInstance(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
          Creates a new OCL using the specified initial Ecore environment.
static OCL newInstance(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory)
          Creates a new OCL using the specified Ecore environment factory.
static OCL newInstance(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory, Resource resource)
          Creates a new OCL using the specified Ecore environment factory and a resource from which to load the initial environment.
 
Methods inherited from class org.eclipse.ocl.OCL
check, check, dispose, evaluate, getConstraints, getEnvironment, getEvaluationEnvironment, getExtentMap, getProblems, isEvaluationTracingEnabled, isInvalid, isParseTracingEnabled, newInstance, newInstance, newInstance, parse, setEvaluationTracingEnabled, setExtentMap, setParseTracingEnabled, validate, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OCL

protected OCL(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory)
Initializes me with an environment factory for the Ecore metamodel.

Parameters:
envFactory - my environment factory

OCL

protected OCL(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
Initializes me with an initial environment for the Ecore metamodel.

Parameters:
env - my root environment

OCL

protected OCL(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory,
              Resource resource)
Initializes me with an environment factory for the Ecore metamodel and a resource from which to load my root environment.

Parameters:
envFactory - my environment factory
resource - my persisted root environment
Method Detail

newInstance

public static OCL newInstance()
Creates a new OCL using the shared Ecore environment factory instance.

Returns:
the new OCL

newInstance

public static OCL newInstance(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory)
Creates a new OCL using the specified Ecore environment factory.

Parameters:
envFactory - an environment factory for Ecore
Returns:
the new OCL

newInstance

public static OCL newInstance(Environment<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> env)
Creates a new OCL using the specified initial Ecore environment.

Parameters:
env - an environment for Ecore
Returns:
the new OCL

newInstance

public static OCL newInstance(EnvironmentFactory<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject> envFactory,
                              Resource resource)
Creates a new OCL using the specified Ecore environment factory and a resource from which to load the initial environment.

Parameters:
envFactory - an environment factory for Ecore
resource - the resource containing a persistent environment (which may be empty for an initially empty environment)
Returns:
the new OCL

createOCLHelper

public OCL.Helper createOCLHelper()
Creates a new OCLHelper instance for convenient parsing of embedded constraints and query expressions in this environment. The helper is particulary useful for parsing constraints embedded in the model, in which case the context of a constraint is determined by its placement and the textual context declarations are unnecessary.

The return type is narrowed to the Ecore binding for the generic OCLHelper<C,O,P,CT> type.

Overrides:
createOCLHelper in class OCL<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>
Returns:
a new helper object

createQuery

public OCL.Query createQuery(Constraint constraint)
Creates a new Query encapsulating a constraint with the current environment and extent map. This is convenient for repeated evaluation of constraints and for filtering objects using the constraint expression.

Every query maintains its own evaluation environment, which enables concurrent evaluation (where this may be safe in an EMF-based model) and different bindings for client-supplied "global" variables.

The return type is narrowed to the Ecore binding for the generic Query<C,CLS,E> type.

Overrides:
createQuery in class OCL<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>
Parameters:
constraint - the OCL constraint
Returns:
the new query object
See Also:
OCL.createQuery(OCLExpression)

createQuery

public OCL.Query createQuery(OCLExpression<EClassifier> query)
Creates a new Query encapsulating a query expression with the current environment and extent map. This is convenient for repeated evaluation of expressions and for filtering/transforming objects using a query or constraint expression.

Every query maintains its own evaluation environment, which enables concurrent evaluation (where this may be safe in an EMF-based model) and different bindings for client-supplied "global" variables.

The return type is narrowed to the Ecore binding for the generic Query<C,CLS,E> type.

Overrides:
createQuery in class OCL<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>
Parameters:
query - the OCL query expression, which may be interpreted as a constraint if it is boolean-valued
Returns:
the new query object
See Also:
OCL.createQuery(Object)

Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.