Champ de variable dans une annotation de contrainte

J'ai besoin de créer un personnalisé contrainte d'annotation qui peut accéder à la valeur d'un autre champ de mon haricot. Je vais utiliser cette annotation pour valider le champ, car il dépend de la valeur de l'autre, mais la façon dont je le définir le compilateur dit "La valeur de l'annotation attribut" de mon domaine "doit être une expression constante".

J'ai définies dans cette voie:

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy=EqualsFieldValidator.class)
@Documented
public @interface EqualsField {
    public String field();

    String message() default "{com.myCom.annotations.EqualsField.message}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};
}

public class EqualsFieldValidator implements ConstraintValidator<EqualsField, String>{

    private EqualsField equalsField;

    @Override
    public void initialize(EqualsField equalsField) {
        this.equalsField = equalsField;     
    }

    @Override
    public boolean isValid(String thisField, ConstraintValidatorContext arg1) {
        //my validation
    }

}

et dans mon haricot je veux quelque chose comme ceci:

public class MyBean{

     private String field1;

     @EqualsField(field=field1)
     private String field2;
}

Est-il possible de définir l'annotation de sorte que la valeur du champ peut être une variable?

Grâce

source d'informationauteur Javi