Je voudrais faire une de mes méthodes "obsolète" = plus utilisé.
Mais j'aimerais quand même l'avoir dans mon API. Je veux juste montrer un "avertissement" à quiconque utilise cette méthode.
Comment puis-je y arriver?
Utilisez @Deprecated
sur la méthode. N'oubliez pas de clarifier le champ javadoc:
_/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
_
Utilisez les deux annotations _@Deprecated
_ et la balise _@deprecated
_ JavaDoc.
La balise JavaDoc _@deprecated
_ est utilisée à des fins de documentation.
L'annotation _@Deprecated
_ indique au compilateur que la méthode est obsolète. Voici ce qui est écrit dans le document Sun/Oracles sur le sujet:
L'utilisation de l'annotation
@Deprecated
pour déprécier une classe, une méthode ou un champ garantit que tous les compilateurs émettront des avertissements lorsque le code utilisera cet élément de programme. En revanche, rien ne garantit que tous les compilateurs émettront toujours des avertissements basés sur la balise Javadoc@deprecated
, bien que les compilateurs Sun le fassent actuellement. . Les autres compilateurs ne peuvent pas émettre de tels avertissements. Ainsi, l’utilisation de l’annotation@Deprecated
pour générer des avertissements est plus portable que l’utilisation de l’annotation@deprecated
balise Javadoc.
Vous pouvez trouver le document complet à l'adresse Comment et quand désapprécier les API
puisque certaines explications mineures manquaient
Utilisez @Deprecated
l'annotation sur la méthode comme ceci
_ /**
* @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()}
Il y a deux choses que tu peux faire:
@Deprecated
à la méthode, et@deprecated
au javadoc de la méthodeVous devriez faire les deux !
Citant le documentation Java à ce sujet:
À partir de J2SE 5.0, vous déconseillez une classe, une méthode ou un champ à l'aide de l'annotation @Deprecated. De plus, vous pouvez utiliser la balise Javadoc @deprecated pour indiquer aux développeurs quoi utiliser à la place.
L'utilisation de l'annotation entraîne le compilateur Java à générer des avertissements lorsque la classe, la méthode ou le champ obsolète est utilisé. Le compilateur supprime les avertissements de dépréciation si une unité de compilation dépréciée utilise une classe, une méthode ou un champ obsolète. Cela vous permet de créer des API héritées sans générer d'avertissements.
Il est fortement recommandé d'utiliser la balise Javadoc @deprecated avec les commentaires appropriés expliquant comment utiliser la nouvelle API. Cela garantit aux développeurs un chemin de migration utilisable de l'ancienne API vers la nouvelle API.
Utilisez le annotation@Deprecated
pour votre méthode, et vous devriez également le mentionner dans vos javadocs.
Jetez un coup d'œil à l'annotation @Deprecated
.