Я бы предложил упростить ваш javadoc оператора return следующим образом:
/**
* Reads account-data to given accountId.
*
* @param accountId
* the primary key of table 'account'
* @return the account wrapped in an {@link Optional}
*/
public Optional<Account> readAccount(long accountId) throws RemoteException, ServiceFaultException {
// function here
}
причина этого в том, что Optional.empty()
является ожидаемой и неизменной частью Optional
API;каждый разработчик, который знает, что такое Optional
, будет знать, что следует ожидать пустой Optional, если учетная запись отсутствует;и поймет, что ему нужен доступ к актуальной информации внутри Optional
, если учетная запись присутствует.
Мы предоставляем здесь @link
, чтобы позволить разработчикам, которые не слышали о Optional
s, посмотреть вверхего соответствующий Javadoc и понять, как это работает;само по себе это не обязательно, но может быть полезно, если над вашим проектом работает много менее опытных разработчиков.