Simple Object Validation and Transformation consist of the following components:
These components are combined together to provide simple, powerful and extensible framework for data consistency checking on the level of Java objects.
You can find minimalistic java interfaces representing each of the component. It is easy to create your own implementations because you need to implement just these minimalistic interfaces. Also you can migrate your existing code easily by just providing simple proxy-methods or wrapper classes.
Currently there is a single way of doing integration of different components: XML configuration file. Another ways could be provided, if necessary, because XML configuration file loader is only used for parsing XML file and registering components in the SOVT component library.
The validator component is used to perform some validation of some object. Object itself is not modified but just validated.
Interface (org.sovt.Validator):
void validate(Object object, ValidationResult result);
The transformer component is used to transform given object. It can be that complete object is completely replaced by another one.
Interface (org.sovt.Transformer):
Object transform(Object object);
The inspector component is used to transform and validate given object. Mostly it is used as aggregation of other transformers and validators. It is better to implement separate transformer and validator components instead of just single inspector component.
Interface (org.sovt.Inspector):
Object inspect(Object object, ValidationResult result);