org.eclipse.ocl.utilities.package.html Maven / Gradle / Ivy
Abstract API for OCL AST utilities and extensions of the UML metamodel.
Package Specification
This package defines a number of utility interfaces that are mixed in to the
AST model defined in the {@link org.eclipse.ocl.expressions} and
{@link org.eclipse.ocl.types} packages, as well as UML metamodel extensions and
related services. These utilities include:
- a {@link org.eclipse.ocl.utilities.Visitor Visitor} pattern definition
- {@linkplain org.eclipse.ocl.utilities.Visitable visitor accept} protocol
- tracking from where in the source text an
{@linkplain org.eclipse.ocl.utilities.ASTNode AST node} was parsed
- an emulation of the UML
{@link org.eclipse.ocl.utilities.TypedElement TypedElement} metaclass
- access to the name and operations of the types
{@linkplain org.eclipse.ocl.utilities.PredefinedType pre-defined} by OCL
These concerns are orthogonal to the definition of the abstract syntax model and
do not affect XMI serialization.
This package also defines the {@link org.eclipse.ocl.utilities.ExpressionInOCL}
metaclass that extends the UML OpaqueExpression metaclass to support
embedding of OCL expressions in models.
Also of note is the {@link org.eclipse.ocl.utilities.UMLReflection} interface
that provides introspection and construction of the model concepts that OCL
re-uses from the UML. Providers of OCL metamodel bindings (i.e.,
{@link org.eclipse.ocl.Environment}s) are required to implement this interface
to manipulate metaclasses either from the metamodel that they are binding, or
that they define themselves to implement these concepts.
@see org.eclipse.ocl.expressions
@see org.eclipse.ocl.types