Me gustaría hacer que uno de mis métodos quede "obsoleto" = no se use más.
Pero aún así me gustaría tenerlo en mi API. Solo quiero mostrar una "advertencia" a cualquiera que use ese método.
¿Cómo puedo lograr eso?
Use @Deprecated en el método. No te olvides de aclarar el campo javadoc:
/** * Does some thing in old style. * * @deprecated use {@link #new()} instead. */ @Deprecated public void old() { // ... }Utilice tanto la anotación @Deprecated como la etiqueta @deprecated .
La etiqueta @deprecated se utiliza con fines de documentación.
La anotación @Deprecated indica al compilador que el método está en desuso. Esto es lo que dice en el documento de Sun/Oracles sobre el tema:
El uso de la anotación
@Deprecatedpara desaprobar una clase, un método o un campo garantiza que todos los compiladores emitan advertencias cuando el código use ese elemento del programa. Por el contrario, no hay garantía de que todos los compiladores emitan siempre advertencias basadas en la etiqueta@deprecatedJavadoc, aunque los compiladores de Sun actualmente lo hacen. Es posible que otros compiladores no emitan tales advertencias. Por lo tanto, usar la anotación@Deprecatedpara generar advertencias es más portátil que confiar en la etiqueta@deprecatedJavadoc.
Puede encontrar el documento completo en Cómo y cuándo desaprobar las API
ya que faltaban algunas explicaciones menores
Use la anotación @Deprecated en el método como este
/** * @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()}