OVal 0.8 review

by rbytes.net on

License: Eclipse Public License
File size: 0K
Developer: Sebastian Thomschke
0 stars award from rbytes.net

OVal is a generic Java 5 based object validation framework that uses annotations to express constraints and AspectJ to handle automatic validation (programming by contract).

OVal allows you to:

to specify constraints for class fields and method return values
to easily validate objects on demand
to specify constraints for constructor parameters that are automatically checked when the constructor is called
to specify constraints for method parameters that are automatically checked when the method is called
to enforce full object validation after an object instance has been created
to enforce full object validation before a method of the object is called
to enforce full object validation after a method of the object is called
to either let OVal throw constraint violation exceptions during automatic checks or alternatively notify constraint violation listeners.
to easily create custom constraints

What's New in This Release:
added JPAAnnotationsConfigurer to translate EJB3 JPA annotations into OVAL constraints @javax.persistence.Basic(optional=false) => @net.sf.oval.constraints.NotNull @javax.persistence.OneToOne(optional=false) => @net.sf.oval.constraints.NotNull @javax.persistence.ManyToOne(optional=false) => @net.sf.oval.constraints.NotNull @javax.persistence.Column(nullable=false) => @net.sf.oval.constraints.NotNull @javax.persistence.Column(length=5 ) => @net.sf.oval.constraints.Length
changed the ant script to generate a maven2 bundle jar in the dist target
AssertConstraintSet constraint was ignored when specified for getter methods' return value
NPE was thrown when validating objects against an XML based configuration that uses constraint sets
various fixes regarding XML based configuration (thanks to tahura)
added more JUnit tests for the xml configuration
net.sf.oval.configuration.POJOConfigurer and all configuration elements are now serializable
added support for ParaNamer http://paranamer.codehaus.org/ for method parameter name resolving
added a DTD for the XML configuration file
when @AssertValid is used on collections the collection's elements are now validated too by default (thanks to tahura)

net.sf.oval.annotations.Guarded: annotation @Constrained renamed to @Guarded
net.sf.oval.aspectj.GuardAspect: aspect ConstraintsEnforcerAspect renamed to GuardAspect
net.sf.oval.aspectj.GuardAspect2: class ConstraintsEnforcerAspect2 renamed to GuardAspect2
net.sf.oval.Guard: class ConstraintsEnforcer renamed to Guard

OVal 0.8 keywords