Me gustaría hacer que uno de mis métodos sea "obsoleto" = ya no se usa.
Pero aún así me gustaría tenerlo en mi API. Solo quiero mostrar "advertencia" a cualquiera que use ese método.
¿Cómo puedo lograr eso?
Me gustaría hacer que uno de mis métodos sea "obsoleto" = ya no se usa.
Pero aún así me gustaría tenerlo en mi API. Solo quiero mostrar "advertencia" a cualquiera que use ese método.
¿Cómo puedo lograr eso?
Respuestas:
Uso @Deprecateden 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() {
// ...
}
reasoncon un valor predeterminado de ""no podría haber sido perjudicial
@deprecatedmensaje en el comentario pudiera agregarse a @Deprecated(un lugar para arreglarlos a todos) ...
Utilice tanto la @Deprecatedanotación como la@deprecated etiqueta JavaDoc.
los @deprecated etiqueta JavaDoc se utiliza con fines de documentación.
La @Deprecatedanotación indica al compilador que el método está en desuso. Esto es lo que dice en el documento Sun / Oracles sobre el tema:
Usar la
@Deprecatedanotación para desaprobar una clase, método o campo asegura que todos los compiladores emitirán advertencias cuando el código use ese elemento del programa. Por el contrario, no hay garantía de que todos los compiladores siempre emitan advertencias basadas en la@deprecatedetiqueta Javadoc, aunque los compiladores de Sun actualmente lo hacen. Otros compiladores no pueden emitir tales advertencias. Por lo tanto, usar la@Deprecatedanotación para generar advertencias es más portátil que confiar en la@deprecatedetiqueta Javadoc.
Puede encontrar el documento completo en Cómo y cuándo desaprobar las API
@deprecatedetiqueta javadoc (en Java 4-), el compilador marcó el método (clase, campo) como obsoleto y los IDE mostraron advertencias, incluso cuando no había fuente disponible.
ya que faltaban algunas explicaciones menores
Use @Deprecatedanotaciones 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()}Hay dos cosas que puedes hacer:
@Deprecated anotación al método y@deprecatedetiqueta al javadoc del método¡Deberías hacer las dos cosas !
Citando la documentación de Java sobre este tema:
Comenzando con J2SE 5.0, desaprueba una clase, método o campo utilizando la anotación @Deprecated. Además, puede usar la etiqueta @doc obsoleta de Javadoc para indicar a los desarrolladores qué usar en su lugar.
El uso de la anotación hace que el compilador de Java genere advertencias cuando se utiliza la clase, el método o el campo en desuso. El compilador suprime las advertencias de desaprobación si una unidad de compilación desaprobada usa una clase, un método o un campo desaprobados. Esto le permite crear API heredadas sin generar advertencias.
Se recomienda encarecidamente utilizar la etiqueta Javadoc @deprecated con comentarios apropiados que expliquen cómo utilizar la nueva API. Esto garantiza que los desarrolladores tendrán una ruta de migración viable desde la antigua API a la nueva API