Я бы хотел, чтобы один из моих методов "устарел" = больше не использовался.
Но все же я хотел бы иметь его в своем API. Я просто хочу показать "предупреждение" всем, кто использует этот метод.
Как я могу это достичь?
Я бы хотел, чтобы один из моих методов "устарел" = больше не использовался.
Но все же я хотел бы иметь его в своем API. Я просто хочу показать "предупреждение" всем, кто использует этот метод.
Как я могу это достичь?
Использовать метод @Deprecated по методу. Не забывайте про пояснение поля javadoc:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
Используйте как аннотацию @Deprecated
, так и тег JavaDoc @Deprecated
.
Тег @Deprecated
JavaDoc используется для целей документирования.
Аннотация @Deprecated
указывает компилятору, что метод устарел. Вот что он говорит в документе Sun/Oracles по этому вопросу:
Использование аннотации
@Deprecated
для обесценивания класса, метода или поля гарантирует, что все компиляторы выдадут предупреждения, когда код использует этот программный элемент. Напротив, нет никакой гарантии, что все компиляторы всегда выдадут предупреждения на основе тега@Deprecated
Javadoc, хотя в настоящее время это делают компиляторы Sun. Другие компиляторы не могут выдавать такие предупреждения. Таким образом, использование аннотации@Deprecated
для генерации предупреждений является более переносимым, основанным на теге@Deprecated
Javadoc.
Полный документ можно найти в Как и когда отказаться от API
Есть две вещи, которые вы можете сделать:
@Deprecated
аннотацию к методу и@Deprecated
в javadoc методаВы должны сделать как!
Указание java documentation на эту тему:
Начиная с J2SE 5.0 вы отказываетесь от класса, метода или поля с помощью аннотации @Deprecated. Кроме того, вы можете использовать @deprecated тег Javadoc, чтобы сказать разработчикам, что использовать вместо этого.
Использование аннотации заставляет компилятор Java генерировать предупреждения, когда используется устаревший класс, метод или поле. Компилятор подавляет предупреждения об отказе, если устаревший блок компиляции использует устаревший класс, метод или поле. Это позволяет вам создавать устаревшие API без создания предупреждений.
Настоятельно рекомендуется использовать тег Javadoc @deprecated с соответствующими комментариями, объясняющими, как использовать новый API. Это гарантирует, что разработчики будут иметь приемлемый путь миграции от старого API к новому API
поскольку отсутствовали некоторые незначительные объяснения
Используйте @Deprecated
аннотацию к методу, подобному этому
/** * @param baseprice * * @deprecated reason this method is deprecated </br> * {will be removed in next version} </br> * use {@link #setPurchasePrice()} instead like this: * * <blockquote> * <pre> * getProduct().setPurchasePrice(200) * </pre></blockquote> * */ @Deprecated public void setBaseprice(int baseprice) { }
не забудьте объяснить:
</br>
{@link #setPurchasePrice()}
Используйте annotation @Deprecated
для вашего метода, и вы также должны указать его в своих javadocs.
Взгляните на аннотацию @Deprecated
.