Проверка JSR 303 - Убедитесь, что поле имеет конкретную реализацию интерфейса - PullRequest
1 голос
/ 14 июля 2011

Я ищу что-то, что, вероятно, существует, поэтому я спрашиваю, а не просто создаю это ...

Допустим, у меня есть следующее:

public interface SillyInterface {
    public String name();
}

public class SillyInterfaceImplA {
    public String name() {
        return "SillyImplA";
    }
}

public class SillyInterfaceImplB {
    public String name() {
         return "SillyImplB";
    }
}

Теперь давайте предположим, что у меня есть следующий POJO:

public class SillyPOJO {
    SillyInterface silly1;
    SillyInterface silly2;
}

Существует ли какая-либо аннотация (Hibernate или stock), чтобы я мог гарантировать, что получу ссылку на определенную конкретную реализацию (без изменения моего POJO, чтобы сделать silly1 ссылочным типом на тот, который я желаю)?

1 Ответ

0 голосов
/ 15 июля 2011

Hibernate имеет лучшую поддержку проверки для JSR 303, и вы можете просмотреть все аннотации здесь:

http://docs.jboss.org/hibernate/validator/4.2/reference/en-US/html_single/#d0e332

Вы даже можете написать собственные аннотации для ваших собственных процедур проверки,хотя это много работы для того, что вы пытаетесь сделать.К сожалению, как сказал «matt b», это дает вам поддержку только во время выполнения, даже если вы написали что-то нестандартное.

...