/** * Teste si la valeur passée en paramètre est valide pour le champ. Lance une exception * transapente(RunTime) avec message adequat si pb. * * @param value Valeur à valider * @throws ConstraintException Erreur de vérification des contraintes */ public void checkValue(final Object value) throws ConstraintException { // 1. On vérifie la conformité de la valeur par rapport au type du champ. getDataType().checkValue(value); // 2. Dans le cas de l'implémentation standard on vérifie les contraintes for (final DefinitionReference<ConstraintDefinition> constraintDefinitionRef : constraintDefinitionRefs) { // Il suffit d'une contrainte non respectée pour qu'il y ait non validation if (!constraintDefinitionRef.get().checkConstraint(value)) { throw new ConstraintException(constraintDefinitionRef.get().getErrorMessage()); } } }
/** * Retourne le formatter du domaine. * * @return Formatter. */ public FormatterDefinition getFormatter() { Assertion.checkNotNull(formatterDefinitionRef, "no formatter defined on {0}", this); // ----- return formatterDefinitionRef.get(); }