OVal is a pragmatic and extensible validation framework for any kind of Java objects (not only
JavaBeans). Constraints can be declared with annotations (@NotNull, @MaxLength), POJOs or XML. Custom constraints can
be expressed as custom Java classes or by using scripting languages such as JavaScript, Groovy, BeanShell, OGNL or
MVEL. Besides field/property validation OVal implements Programming by Contract features by utilizing AspectJ based
aspects. This for example allows runtime validation of method arguments.