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