# oval
**Repository Path**: mirrors_andyglick/oval
## Basic Information
- **Project Name**: oval
- **Description**: OVal - the object validation framework for Java
- **Primary Language**: Unknown
- **License**: EPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-24
- **Last Updated**: 2026-03-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OVal - the object validation framework for Java
[](https://travis-ci.com/sebthom/oval)
[](LICENSE.txt)
[](CHANGELOG.md)
[](https://bintray.com/sebthom/maven/oval/_latestVersion)
[comment]: # (https://img.shields.io/github/license/sebthom/oval.svg?label=License)
1. [What is it?](#what-is-it)
1. [Java Compatibility](#compatibility)
1. [User Guide](#user-guide)
1. [Articles about OVal](#articles-about-oval)
1. [Projects using OVal](#projects-using-oval)
1. [License](#license)
## What is it?

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](https://en.wikipedia.org/wiki/Plain_old_Java_object) or XML.
Custom constraints can be expressed as custom Java classes or by using scripting languages such as [JavaScript](https://github.com/mozilla/rhino), [Groovy](http://groovy-lang.org/),
[BeanShell](http://www.beanshell.org/), [OGNL](https://github.com/jkuhnert/ognl) or [MVEL](https://github.com/mvel/mvel).
Besides field/property validation OVal implements [Programming by Contract](https://en.wikipedia.org/wiki/Design_by_contract) features by utilizing [AspectJ](https://www.eclipse.org/aspectj/doc/next/progguide/starting-aspectj.html) based aspects or via [Spring AOP](https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html). This for example allows runtime validation of constructor/method arguments.
## Java Compatibility
OVal 1.x requires Java 5 or newer.
OVal 2.x requires Java 8 or newer.
## User Guide
The user guide is available [USERGUIDE.md](./USERGUIDE.md)
## Articles about OVal
There exist some articles and blog entries talking about and/or referencing OVal:
- Wikipedia (DE): OVal (Framework) \
[\[English
Translation\]](https://translate.google.com/translate?sl=de&tl=en&u=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FOVal_%28Framework%29)
- An Experimental Evaluation of JavaDesign-by-Contract Extensions (2018) \
- GlueCoders' Spring Boot Guide: Validation of Request Models using OVal (2017) \
- A Constraint-Based Approach to Data Quality in Information Systems (2017) \
- How to integrate Oval validation with Spring 3 (2013) \
- OVal - validate your models quickly and effortlessly (2011) \
- A Valid Point (2011) \
- Validaciones: Hibernate Validator vs OVal (2010) \
[\[English
Translation\]](https://translate.google.com/translate?sl=es&tl=en&u=https%3A%2F%2Funpocodejava.com%2F2010%2F05%2F07%2Fvalidaciones-hibernate-validator-vs-oval%2F)
- Enkel validering av Java-objekter med OVal (2010) \
- Oval Validation Framework (2010) \
- OVal - Object Validation With POJO (2009) \
- Diseño por Contrato con OVal y Spring \[Design by Contract with OVal and Spring\] (2009) \
[\[English
Translation\]](https://translate.google.com/translate?hl=&sl=es&tl=en&u=https%3A%2F%2Fdosideas.com%2Fnoticias%2Fjava%2F562-diseno-por-contrato-con-oval-y-spring)
- An Aspect-Oriented Infrastructure for Design by Contract in Java \
- OVal Blog Entry Series at the "JEE, BPEL, SOA" blog (2008) \
- [JSR 303 and OVal Validation
Framework](https://lukaszbudnik.blogspot.com/2008/12/jsr-303-and-oval-validation-framework.html)
- [OVal and
profiles](https://lukaszbudnik.blogspot.com/2008/12/oval-and-profiles.html)
- [Spring Web Flow 1 piecemeal validation and OVal
integration](https://lukaszbudnik.blogspot.com/2008/12/springs-piecemeal-validation-and-oval.html)
- Pre and post condition validation with OVal as intruments of software architecture (2008) \
- OVal: The simple validation framework for Java (2008) \
- Validación Java: OVal, una joya escondida (2007) \
- Die Pro-Pix Homepage - Design by Contract (2007) \
- In pursuit of code quality: Defensive programming with AOP (2007) \
- OVal e la validazione degli oggetti in Java (2006) \
- Limiting conditional complexity with AOP (2006)\
## Projects using OVal
- Arena Persistence
- Jadira Framework
- Omniproperties - a lightweight configuration utility
- fustewa - A full web stack based on Spring
- eSciDoc
- SaferJava
- JProvocateur
- NexOpen
- gdv.xport
- suz-lab-gae
- Cubby Simple Web Application Framework
- Metawidget
- Struts 2 OVal Plug-in
- Play! Framework 1.x
- Cayenne annotations
- jsfatwork
- mtn4java
- Polyforms
- rsser
- saetc
- ultimate-roundtrip
## License
All files are released under the [Eclipse Public License 2.0](LICENSE.txt).