Warunkowa walidacja fasoli

Używam sprawdzania poprawności Bean w moim projekcie JSF. Teraz natknąłem się na sytuację, w której chciałbym sprawdzić poprawność metody TYLKO wtedy, gdy sprawdzana jest poprzednia metoda.

Podam przykład:

@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }

if(isValidActivationCode()) {
    @AssertTrue(message="{alreadyActivated}")
    private boolean isAlreadyActivated() { ... }
}

Ponieważ otrzymam kod aktywacyjny dla każdego parametru, chciałbym najpierw go zweryfikować. Jeśli nie jest prawidłowy, spowoduje naruszenie. Jeśli tak, nie mogę nawet sprawdzić, czy jest już aktywowany (ponieważ kod jest nieprawidłowy). Czy jest więc możliwe osiągnięcie czegoś takiego, jak wspomniano powyżej (funkcja instrukcji if, wiem, że to nie zadziała, ale pokazuje to, co próbuję osiągnąć).

Z góry dziękuję

Aktualizacja

Obejście problemu, o którym wspomniał Ravi K:

@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }

@AssertTrue(message="{alreadyActivated}")
private boolean isAlreadyActivated() { return isValidActivationCode() ? ... : true; }

Chociaż zastanawiam się, czy istnieje czysty sposób na rozwiązanie tego problemu? Jeśli wkrótce nikt nie udzieli odpowiedzi, założę, że nie ma na to czystego rozwiązania i zaakceptuję obejście z Ravi K jako odpowiedź na ten problem.

questionAnswers(2)

yourAnswerToTheQuestion