## Package org.eclipse.ocl.ecore

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

See:
Description

Interface Summary
AnyType: A representation of the model object 'Any Type'
AssociationClassCallExp: A representation of the model object 'Association Class Call Exp'
BagType: A representation of the model object 'Bag Type'
BooleanLiteralExp: A representation of the model object 'Boolean Literal Exp'
CallExp: A representation of the model object 'Call Exp'
CallOperationAction: A representation of the model object 'Call Operation Action'
CollectionItem: A representation of the model object 'Collection Item'
CollectionLiteralExp: A representation of the model object 'Collection Literal Exp'
CollectionLiteralPart: A representation of the model object 'Collection Literal Part'
CollectionRange: A representation of the model object 'Collection Range'
CollectionType: A representation of the model object 'Collection Type'
Constraint: A representation of the model object 'Constraint'
EcoreFactory: The Factory for the model.
EcorePackage: The Package for the model.
EcorePackage.Literals: Defines literals for the meta objects that represent each class, each feature of each class, each enum, and each data type
ElementType: A representation of the model object 'Element Type'
EnumLiteralExp: A representation of the model object 'Enum Literal Exp'
ExpressionInOCL: A representation of the model object 'Expression In OCL'
FeatureCallExp: A representation of the model object 'Feature Call Exp'
IfExp: A representation of the model object 'If Exp'
IntegerLiteralExp: A representation of the model object 'Integer Literal Exp'
InvalidLiteralExp: A representation of the model object 'Invalid Literal Exp'
InvalidType: A representation of the model object 'Invalid Type'
IterateExp: A representation of the model object 'Iterate Exp'
IteratorExp: A representation of the model object 'Iterator Exp'
LetExp: A representation of the model object 'Let Exp'
LiteralExp: A representation of the model object 'Literal Exp'
LoopExp: A representation of the model object 'Loop Exp'
MessageExp: A representation of the model object 'Message Exp'
MessageType: A representation of the model object 'Message Type'
NavigationCallExp: A representation of the model object 'Navigation Call Exp'
NullLiteralExp: A representation of the model object 'Null Literal Exp'
NumericLiteralExp: A representation of the model object 'Numeric Literal Exp'
OCL.Helper: Convenient interface aliasing the type parameter substitutions for the Ecore environment, for ease of typing.
OCL.Query: Convenient interface aliasing the type parameter substitutions for the UML environment, for ease of typing.
OCLExpression: A representation of the model object 'OCL Expression'
OperationCallExp: A representation of the model object 'Operation Call Exp'
OrderedSetType: A representation of the model object 'Ordered Set Type'
PrimitiveLiteralExp: A representation of the model object 'Primitive Literal Exp'
PrimitiveType: A representation of the model object 'Primitive Type'
PropertyCallExp: A representation of the model object 'Property Call Exp'
RealLiteralExp: A representation of the model object 'Real Literal Exp'
SendSignalAction: A representation of the model object 'Send Signal Action'
SequenceType: A representation of the model object 'Sequence Type'
SetType: A representation of the model object 'Set Type'
StateExp: A representation of the model object 'State Exp'
StringLiteralExp: A representation of the model object 'String Literal Exp'
TupleLiteralExp: A representation of the model object 'Tuple Literal Exp'
TupleLiteralPart: A representation of the model object 'Tuple Literal Part'
TupleType: A representation of the model object 'Tuple Type'
TypeExp: A representation of the model object 'Type Exp'
TypeType: A representation of the model object 'Type Type'
UnlimitedNaturalLiteralExp: A representation of the model object 'Unlimited Natural Literal Exp'
UnspecifiedValueExp: A representation of the model object 'Unspecified Value Exp'
Variable: A representation of the model object 'Variable'
VariableExp: A representation of the model object 'Variable Exp'
VoidType: A representation of the model object 'Void Type'

Class Summary
EcoreEnvironment: Implementation of the `Environment` for parsing OCL expressions on Ecore models.
EcoreEnvironmentFactory: Implementation of the `EnvironmentFactory` for parsing OCL expressions on Ecore models.
EcoreEvaluationEnvironment: Implementation of the `EvaluationEnvironment` for evaluation of OCL expressions on instances of Ecore models (i.e., on M0 models).
EcoreOCLStandardLibrary: An extensible implementation of the `OCLStandardLibrary` which provides the OCL Standard Library predefined M1 types and the associated operations related to them.
OCL: Convenient subclass of the `OCL` façade that binds the Ecore metamodel to the superclass's generic type parameters.

## Package org.eclipse.ocl.ecore Description

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

## Package Specification

This package defines an OCL environment implementation for the `Ecore` metamodel. Clients can use an `EcoreEnvironmentFactory` in conjunction with the `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 `Environment.lookupOperation(C, java.lang.String, java.util.List<? extends org.eclipse.ocl.utilities.TypedElement<C>>)` and `EvaluationEnvironment.callOperation(O, int, java.lang.Object, java.lang.Object[])` 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 `Types` package to define the generalization relationships to the Ecore metamodel's counterparts to the UML Classifier (`EClassifier`) and DataType (`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 Also:
  `OCL`, `EcoreEnvironmentFactory`, `EcoreEnvironment`, `EcoreEvaluationEnvironment`, `org.eclipse.ocl.types`

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