Vorrei rendere uno dei miei metodi "deprecato" = non più utilizzato.
Ma vorrei comunque averlo nella mia API. Voglio solo mostrare "avvertimento" a chiunque usi quel metodo.
Come posso raggiungerlo?
Vorrei rendere uno dei miei metodi "deprecato" = non più utilizzato.
Ma vorrei comunque averlo nella mia API. Voglio solo mostrare "avvertimento" a chiunque usi quel metodo.
Come posso raggiungerlo?
Risposte:
Utilizzare @Deprecatedil metodo Non dimenticare di chiarire il campo javadoc:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
reasoncon un valore predefinito ""non avrebbe potuto far male
@deprecatedmessaggio nel commento potesse essere aggiunto a @Deprecated(un punto per risolverli tutti) ...
Utilizzare sia l' @Deprecatedannotazione che il @deprecatedtag JavaDoc.
Il @deprecatedtag JavaDoc viene utilizzato a scopo di documentazione.
L' @Deprecatedannotazione indica al compilatore che il metodo è obsoleto. Ecco cosa dice nel documento Sole / Oracoli sull'argomento:
L'uso
@Deprecateddell'annotazione per deprecare una classe, un metodo o un campo garantisce che tutti i compilatori emettano avvisi quando il codice utilizza quell'elemento del programma. Al contrario, non vi è alcuna garanzia che tutti i compilatori emetteranno sempre avvisi basati sul@deprecatedtag Javadoc, anche se attualmente i compilatori Sun lo fanno. Altri compilatori non possono emettere tali avvisi. Pertanto, l'utilizzo@Deprecateddell'annotazione per generare avvisi è più portabile che basarsi sul@deprecatedtag Javadoc.
Puoi trovare il documento completo in Come e quando disapprovare le API
@deprecatedtag javadoc (in Java 4-), il compilatore ha contrassegnato il metodo (classe, campo) come obsoleto e gli IDE hanno mostrato degli avvisi, anche quando non era disponibile alcuna fonte.
poiché mancavano alcune spiegazioni minori
Usa l' @Deprecatedannotazione sul metodo in questo modo
/**
* @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()}Ci sono due cose che puoi fare:
@Deprecatedannotazione al metodo e@deprecatedtag al javadoc del metodoDovresti fare entrambe le cose !
Citando la documentazione java su questo argomento:
A partire da J2SE 5.0, si depreca una classe, un metodo o un campo utilizzando l'annotazione @Deprecated. Inoltre, puoi usare il tag Javadoc @deprecated per dire agli sviluppatori cosa usare invece.
L'uso dell'annotazione fa sì che il compilatore Java generi avvisi quando viene utilizzata la classe, il metodo o il campo deprecati. Il compilatore elimina gli avvisi di deprecazione se un'unità di compilazione deprecata utilizza una classe, un metodo o un campo deprecati. Ciò consente di creare API legacy senza generare avvisi.
Si consiglia vivamente di utilizzare il tag Javadoc @deprecated con commenti appropriati che spiegano come utilizzare la nuova API. Ciò garantisce agli sviluppatori un percorso di migrazione praticabile dalla vecchia API alla nuova API
Usa l' annotazione @Deprecated per il tuo metodo e dovresti anche menzionarla nei tuoi javadocs.