General Validation library, (*1)
The library provides a collection of interfaces and some default implementations for the task of validation., (*2)
ValidationUtils is an interface of common functions that can be shared through validating classes (typically implementing for example TypeValidation), (*3)
ValidationDefaultValues is an interface providding a list of default values for validation constraints so if the constraint x is not set for field y, the constraint x will be validated against default value for field y (this way only the values differing from default need to be confed)., (*4)
ValidationCollection is a collection of TypeValidations., (*5)
TypeValidation is a general interface for a simple validation., (*6)
Implementing base class is AbstractTypeValidation, (*7)
ArrayValidation, StringValidation etc typically extend AbstractTypeValidation, (*8)
GeneralValidation is an implementation that coordinates a group of TypeValidation implementations injected to it in ValidationCollection through constructor. The TypeValidation implementation of given type is used for validating, unless not defined whereas the default type is used., (*9)
Validation is a general interface for taking an array of fields and validating them with constructor injected TypeValidation against the field constraint configuration also injected into constructor., (*10)