## org.eclipse.wst.validation.internal.provisional.core
Interface IValidator

All Known Subinterfaces:
  IValidatorJob

    public interface IValidator

This is the base interface for all Validators. A Validator is a class which verifies that objects follow some rules. For example, in a MOF model which represents an EJB jar, the EJB specification determines the rules.

A validator can perform full validation or incremental validation. All validators must implement full validation but incremental validation is optional.

Each validator must not be tied to any particular workbench implementation.

A validator's verification starts when the ValidatorLauncher singleton calls `validate`.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Method Summary
`void` `cleanup(IReporter reporter)` Perform any resource cleanup once validation is complete.
`void` `validate(IValidationContext helper, IReporter reporter)` This is the method which performs the validation on the objects.

Method Detail

### cleanup

    void cleanup(IReporter reporter)

  Perform any resource cleanup once validation is complete. If cleanup will take some time, the IValidator should report subtask information to the user through the IReporter parameter. The IReporter parameter will not be null.

  Parameters:
    `reporter` - Used for the interaction with the user.

### validate

    void validate(IValidationContext helper,
                  IReporter reporter)
                  throws org.eclipse.wst.validation.internal.core.ValidationException

  This is the method which performs the validation on the objects.

  `helper` and `reporter` may not be null. `changedFiles` may be null, if a full build is desired.

  Parameters:
    `helper` - Loads an object.
    `reporter` - Is an instance of an IReporter interface, which is used for interaction with the user.
  Throws:
    `org.eclipse.wst.validation.internal.core.ValidationException`