## Package org.eclipse.emf.validation.model

Types defining the "data model" of the EMF Validation plug-in, in most cases mapping directly to constructs in the `constraintProviders` extension point schema.

See:
Description

Interface Summary
IClientSelector: Interface of an object that knows how to match `EObject`s against a client context.
IConstraintStatus: A specialization of the Eclipse `IStatus` interface which provides additional information about the success or failure of the validation of a particular constraint on a particular model element.
IModelConstraint: Interface implemented by all constraint objects in the EMF model validation framework, providing the `validate` request.

Class Summary
Category: A constraint category, defining a hierarchical organization of constraints.
CategoryManager: Central point by which clients discover the available `categories` and `constraints` in the system.
ConstraintStatus: Indicates the result of evaluating a constraint on a model object.
EvaluationMode<T>: Describes the context in which a `IModelConstraint` is evaluated.
ModelConstraint: An abstract model constraint implementation.

Enum Summary
ConstraintSeverity: Describes the severity of failure to meet a `constraint`.

## Package org.eclipse.emf.validation.model Description

Types defining the "data model" of the EMF Validation plug-in, in most cases mapping directly to constructs in the `constraintProviders` extension point schema.

## Package Specification

The classes and interfaces in this package, together with the public types in the `org.eclipse.emf.validation` package, define the basic elements of the model validation framework, constituting its data model. These internal types are required primarily by implementors of dynamic constraint providers (in addition to the validation engine, itself). Dynamic providers are currently only supported internally; the public validation API supports only static, XML-based contribution.

Dynamic constraint providers contribute implementations of the `IModelConstraint` interface to the system. These may be implemented by classes defined by the provider, or may be created from structured meta-data using a pre-defined constraint language via the `ConstraintFactory` abstract factory class. Constraints produce `IConstraintStatus` objects to indicate violations (or not) of constraints, generally through the `IValidationContext` API (though not necessarily so, in dynamic providers that use the `IModelConstraint` interface).

In addition to defining the structure of constraints, this package also provides the implementation of and access to constraint `categories`. These are primarily used by the validation UI package to organize constraints in the display and provide convenient groupings for enablement and disablement of constraints.

See Also:
  `org.eclipse.emf.validation`, `org.eclipse.emf.validation.preferences`

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