У меня вопрос о том, где документировать логику в javadocs. Например, у меня есть следующий метод подписи в интерфейсе:Документация логики в javadoc
public int getTotalAssociationsAsParent(Long id, Long type);
Метод возвращает ассоциации, где данный идентификатор родитель и ассоциация типа «типа». ID требуется, но если тип передан в NULL, тогда я верну ВСЕ ассоциации, где идентификатор является родительским.
Мой вопрос: где должен быть документирован этот тип логики? Я стесняюсь помещать его в javadoc интерфейса, потому что это ограничивает все реализующие классы, чтобы придерживаться этой логики. Возможно, в будущем у меня будет класс Impl, который генерирует исключение IllegalArgumentException, если тип NULL.
Однако, если я поместил его в не-javadoc в классе Impl, то потребители этого метода не будут знать, как метод ведет себя с типом NULL.
Благодарим вас за советы (все). Я думаю, что мне нужно сделать, это поместить это в javadoc интерфейса и определить, что должен делать этот метод. Если мне когда-либо приходит, что мне нужен метод, который возвращает ВСЕ ассоциации, я просто создаю: public int getTotalAssociationsAsParent (Long id); Следует отметить, что это даже не требование, поэтому я должен следовать принципу YAGNI здесь. – sma