Implementation of an OCL binding for the `Ecore` metamodel.

## Package Specification

This package defines an OCL {@linkplain org.eclipse.ocl.Environment environment} implementation for the `Ecore` metamodel. Clients can use an {@link org.eclipse.ocl.ecore.EcoreEnvironmentFactory} in conjunction with the {@link org.eclipse.ocl.ecore.OCL} class to parse and evaluated OCL constraints on Ecore models.

Clients may extend the environment implementation to support custom requirements, such as overriding the {@link org.eclipse.ocl.Environment#lookupOperation} and {@link org.eclipse.ocl.EvaluationEnvironment#callOperation} methods to inject custom operations into existing metaclasses (to provide Java implementations, rather than defining additional operations using OCL).

This package also extends the types of the OCL {@link org.eclipse.ocl.types.TypesPackage Types} package to define the generalization relationships to the Ecore metamodel's counterparts to the UML Classifier ({@link org.eclipse.emf.ecore.EClassifier}) and DataType ({@link org.eclipse.emf.ecore.EDataType}) metaclasses. This ensures a consistent type system in the OCL binding for Ecore, so that all types are represented as `EClassifier`s.

Clients may assume that any types referenced by OCL constraints parsed against an Ecore model are instances of the interfaces in this package.

@see org.eclipse.ocl.ecore.OCL @see org.eclipse.ocl.ecore.EcoreEnvironmentFactory @see org.eclipse.ocl.ecore.EcoreEnvironment @see org.eclipse.ocl.ecore.EcoreEvaluationEnvironment @see org.eclipse.ocl.types