Предположим, вы создаете имена класса Person, используя шаблон строитель, и предположим, что класс Builder содержит методы body()
, head()
, arms()
и конечно build()
и вы считаете методы head()
и build()
обязательным для пользователей данного класса.Как отметить метод обязательный?
Мы хотели бы как-то отметить эти методы обязательными, если возможно, с помощью аннотаций. Если пользователь этого класса пытается создать экземпляр Person, но забыл вызвать любой из этих методов, мы хотели бы получить какое-то предупреждение - либо из java-компилятора, либо, может быть, из Eclipse или Maven, которые мы используем для создания нашего проекты - любой из них будет делать.
Это можно сделать? Каким образом вы бы предложили?
Сомнительно, что вы можете это сделать во время компиляции, за исключением * очень * особых случаев. Должно быть довольно легко иметь такие проверки во время выполнения (я делаю это все время). – NPE
Я не могу представить себе способ сделать это другим, а затем добавить обязательные свойства в качестве аргументов конструктора конструктора или выбросить исключение при вызове 'build', но мне любопытно, есть ли у кого-то идея лучше. –