blob: e1550f4e8f4e04243202b3adf1f40f34476f092e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
/******************************************************************************
* Copyright (c) 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
****************************************************************************/
-->
</head>
<body>
Implementation of an OCL binding for the <tt>Ecore</tt> metamodel.
<h2>Package Specification</h2>
<p>
This package defines an OCL {@linkplain org.eclipse.ocl.Environment environment}
implementation for the <tt>Ecore</tt> 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.
</p>
</p>
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).
</p>
<p>
This package also extends the types of the OCL {@link org.eclipse.ocl.types 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 <tt>EClassifier</tt>s.
</p>
<p>
Clients may assume that any types referenced by OCL constraints parsed against
an Ecore model are instances of the interfaces in this package.
</p>
@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
</body>
</html>