dOOv utilise des annotations sur le modèle métier pour générer un DSL typesafe servant à écrire les règles de validation de manière simple, rapide, et claire. Contrairement à d’autres approches du même problème (telles que Bean Validation), dOOv n’utilise pas de réflexion, ce qui rend l’exécution du moteur de règle très performante.

DOOV.when(userBirthdate().ageAt(today()).greaterOrEquals(18)
     .and(userFullName().isNotNull()))
    .validate()

Une règle de validation est représentée sous forme d’arbre de syntaxe, ce qui permet d’afficher la règle avec une sémantique appropriée. Dans cet exemple, le prédicat racine est un « or » qui vérifie l’âge du conducteur principal et du conducteur secondaire.

Pour plus d’information, visitez notre page dOOv, le github dOOv, et une conférence récente à propos de dOOv.