Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
/**
* A component which performs a validation and expresses
* its result through a {@link ValidationResult} object.
* <p/>
* The {@link #validate(MuleEvent)} method receives a
* {@link MuleEvent} in order to make it generic and easy to extend.
* However, that doesn't necessarily mean that all the validation
* is performed with or over the event exclusively. Thread
* safeness is not to be assumed over instances of this class
* since the validator could be stateful.
*
* @since 3.7.0
*/
public interface Validator
{
/**
* Performs the validation and generates a
* {@link ValidationResult} back.
*
* @param event the current {@link MuleEvent}
* @return a {@link ValidationResult}
*/
ValidationResult validate(MuleEvent event);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment