OVal is a pragmatic and extensible validation framework for any kind of Java objects (not only JavaBeans). Constraints can be configured with annotations, POJOs, or XML. Custom constraints can be expressed in pure Java or by using scripting languages such as JavaScript, Groovy, or BeanShell. Besides simple object validation, OVal provides certain Programming by Contract features. They can easily be enabled by using the provided AspectJ aspects.


Five new built-in constraints: @AssertURL, @InstanceOfAny, @MemberOf, @NotEqual, and @NotMemberOf. errorCode and severity can now be specified for constraints. Support for object-level constraints (compound constraints). Support for Ruby as a constraints expression language. Constraints violation messages have been translated into Chinese, Dutch, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish, and Turkish. Support for different logging frameworks/facades, including JDK logging, Log4J, and commons logging so far.

URL: OVal - the object validation framework for Java™ 5 or later