public < T > void validate ( T entity ) { // Obtention de l'ensemble des violations Set < ConstraintViolation < T >> constraintViolations = validator . validate ( entity ) ; // Si l'ensemble est vide if ( constraintViolations == null || constraintViolations . size ( ) == 0 ) return ; // Obtention de la première violation ConstraintViolation < T > first = constraintViolations . iterator ( ) . next ( ) ; // Obtention du descripteur de la contrainte ConstraintDescriptor < ? > constraintDescriptor = first . getConstraintDescriptor ( ) ; // Nom du bean en echec String entityName = first . getRootBeanClass ( ) . getSimpleName ( ) ; // Nom de la propriété en echec String propertyName = first . getPropertyPath ( ) . toString ( ) ; // Message de violation String message = first . getMessage ( ) ; // Obtention de l'annotation en cours String [ ] parameters = buildAnnotationConstraintParameters ( constraintDescriptor . getAnnotation ( ) ) ; // On leve une Exception throw new InvalidEntityInstanceStateException ( entityName , propertyName , message , parameters ) ; }
Methode permettant de valider un onjet