私はクラスレベルのアノテーション制約を使用したいと思います。しかし、内部の制約を自動的に検証することはできません。このテクニックに検証グループを組み込むために、私は1つの部分を手助けしたいと思います。ネストされたJsr 303検証アノテーション
@ConstraintA({
@ConstraintB(stuff),
@ConstraintB(stuff, groups=SomeGroup.class)
})
public class Form{
}
私は現在、このように制約をトリガしています。
if(constraint instanceof ConstraintB){
new ConstraintBValidator().isValid(target, context);
}
しかしこれはobviously.Iが最終的AnnotationInvocationHandler.invoke()メソッドを呼び出してはisValidメソッドをトリガするためにリファクタリング、まだそれから少し道をイムます吸います。
私の問題は、すべてのConstraintBインスタンスがConstraintAに渡されることです。適切なグループを持つ人だけがConstraintAに渡されることを願っています。私はこの能力が疑わしいので、どうやってどのグループを引き金にする必要があるのか、どのグループを引き出すべきなのかを特定できますか?
デバッグでは、どのグループをトリガーするかを指定するオブジェクトは表示されません。
アイデア?