2010-07-07 2 views
2

Comment puis-je obtenir toutes les contraintes pour une classe. Par exemple, j'aiHibernate Validator 4+. Obtenir toutes les contraintes associées à une classe

class A { 
    @NotNull 
    private SomeBean field; 
} 

Quand j'appelle:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
Validator validator = factory.getValidator(); 
Set<ConstraintDescriptor<?>> descriptor = validator.getConstraintsForClass(formClass).getConstraintDescriptors(); 

L'ensemble est vide. Je suppose qu'il y a déjà une fonctionnalité dans Hibernate Validator qui me donnerait toutes les informations sur les contraintes d'une manière ordonnée, sans que j'aie besoin de recourir à l'API de réflexion.

+0

Je suis curieux: pourquoi en avez-vous besoin? Je suis généralement plus intéressé par les violations. –

Répondre

2

getConstraintsForClass() renvoie des contraintes sur la classe elle-même. Pour obtenir des contraintes sur les propriétés, vous devez appeler getConstrainedProperties().

+0

Merci, Juste une note de côté le getConstrainedProperties() est disponible dans Hibernate Validator v 4.1.0Final pour une raison quelconque, ce n'est pas dans le référentiel principal, mais vous pouvez le trouver ici URL: https://repository.jboss.org/ nexus/content/repositories/public/ Pour ceux qui utilisent un outil de gestion de la dépendance comme Maven de toute façon – pmanolov

Questions connexes