OVal - the object validation framework for Java

Build Status License Maintainability Test Coverage Changelog Bintray Maven Central

  1. What is it?
  2. Java Compatibility
  3. Binaries
  4. User Guide
  5. Articles about OVal
  6. Projects using OVal
  7. License

What is it?

logo

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 or via Spring AOP. This for example allows runtime validation of constructor/method arguments.

Java Compatibility

OVal 1.x requires Java 5 or newer

OVal 2.0 or higher requires Java 8 or newer

Binaries

Releases of this project are available at https://search.maven.org/artifact/net.sf.oval/oval

You can add OVal as a dependency to your pom.xml:

<dependency>
  <groupId>net.sf.oval</groupId>
  <artifactId>oval</artifactId>
  <version>[VERSION_GOES_HERE]</version>
</dependency>

User Guide

The user guide is available USERGUIDE.md

Articles about OVal

There exist some articles and blog entries talking about and/or referencing OVal:

https://de.wikipedia.org/wiki/OVal_(Framework) [English Translation]

Projects using OVal

Active:

Inactive:

License

All files are released under the Eclipse Public License 2.0.

Individual files contain the following tag instead of the full license text:

SPDX-License-Identifier: EPL-2.0

This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/.