## org.eclipse.ocl.ecore
Class OCL

    java.lang.Object
      org.eclipse.ocl.OCL<EPackage,EClassifier,EOperation,EStructuralFeature,EEnumLiteral,EParameter,EObject,CallOperationAction,SendSignalAction,Constraint,EClass,EObject>
          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.