## Package org.eclipse.ocl.expressions

Specification of the `Expressions` package of the Object Constraint Lanuage version 2.0 Abstract Syntax model.

See:
Description

Interface Summary
AssociationClassCallExp<C,P>: A representation of the model object 'Association Class Call Exp'
BooleanLiteralExp<C>: A representation of the model object 'Boolean Literal Exp'
CallExp<C>: A representation of the model object 'Call Exp'
CollectionItem<C>: A representation of the model object 'Collection Item'
CollectionLiteralExp<C>: A representation of the model object 'Collection Literal Exp'
CollectionLiteralPart<C>: A representation of the model object 'Collection Literal Part'
CollectionRange<C>: A representation of the model object 'Collection Range'
EnumLiteralExp<C,EL>: A representation of the model object 'Enum Literal Exp'
ExpressionsFactory: The Factory for the model.
ExpressionsPackage: The Package for the model.
ExpressionsPackage.Literals: Defines literals for the meta objects that represent each class, each feature of each class, each enum, and each data type
FeatureCallExp<C>: A representation of the model object 'Feature Call Exp'
IfExp<C>: A representation of the model object 'If Exp'
IntegerLiteralExp<C>: A representation of the model object 'Integer Literal Exp'
InvalidLiteralExp<C>: A representation of the model object 'Invalid Literal Exp'
IterateExp<C,PM>: A representation of the model object 'Iterate Exp'
IteratorExp<C,PM>: A representation of the model object 'Iterator Exp'
LetExp<C,PM>: A representation of the model object 'Let Exp'
LiteralExp<C>: A representation of the model object 'Literal Exp'
LoopExp<C,PM>: A representation of the model object 'Loop Exp'
MessageExp<C,COA,SSA>: A representation of the model object 'Message Exp'
NavigationCallExp<C,P>: A representation of the model object 'Navigation Call Exp'
NullLiteralExp<C>: A representation of the model object 'Null Literal Exp'
NumericLiteralExp<C>: A representation of the model object 'Numeric Literal Exp'
OCLExpression<C>: A representation of the model object 'OCL Expression'
OperationCallExp<C,O>: A representation of the model object 'Operation Call Exp'
PrimitiveLiteralExp<C>: A representation of the model object 'Primitive Literal Exp'
PropertyCallExp<C,P>: A representation of the model object 'Property Call Exp'
RealLiteralExp<C>: A representation of the model object 'Real Literal Exp'
StateExp<C,S>: A representation of the model object 'State Exp'
StringLiteralExp<C>: A representation of the model object 'String Literal Exp'
TupleLiteralExp<C,P>: A representation of the model object 'Tuple Literal Exp'
TupleLiteralPart<C,P>: A representation of the model object 'Tuple Literal Part'
TypeExp<C>: A representation of the model object 'Type Exp'
UnlimitedNaturalLiteralExp<C>: A representation of the model object 'Unlimited Natural Literal Exp'
UnspecifiedValueExp<C>: A representation of the model object 'Unspecified Value Exp'
Variable<C,PM>: A representation of the model object 'Variable'
VariableExp<C,PM>: A representation of the model object 'Variable Exp'

Enum Summary
CollectionKind: A representation of the literals of the enumeration 'Collection Kind', and utility methods for working with them

## Package org.eclipse.ocl.expressions Description

Specification of the `Expressions` package of the Object Constraint Lanuage version 2.0 Abstract Syntax model.

## Package Specification

This package defines the API for the structure of parsed OCL expressions, as described in the `Expressions` package of the OCL specification version 2.0 with some extensions for this parser implementation. These extensions include:

- implementation of a `Visitable` interface to support the `Visitor` pattern for analysis and transformation of expressions
- implementation of a `ASTNode` and related interfaces for tracking the positions in the original input text of the various parts of an expression
- implementation of a `TypedElement` interface to define the name and type properties of expressions and variables, inherited by these metaclasses from the UML, EMOF, or Core::Basic metamodel respectively for CompleteOCL, EssentialOCL, and BasicOCL

None of these extensions of the model affects the XMI serialization of OCL expressions which, as much as possible, is conformant to the OCL specification.

See Also:
  `OCLExpression`, `org.eclipse.ocl.types`, `org.eclipse.ocl.utilities`

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