私の方法の1つを "deprecated" =もう使わないようにしたい。
それでも、私はそれを私のAPIに含めたいと思います。私はその方法を使っている人に「警告」を見せたいだけです。
どうすればそれを達成できますか?
Methodに @Deprecated
を使用してください。 javadocフィールドを明確にすることを忘れないでください。
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
@Deprecated
アノテーションと@deprecated
JavaDocタグの両方を使用してください。
@deprecated
JavaDocタグは文書化の目的で使用されます。
@Deprecated
アノテーションは、メソッドが廃止予定であることをコンパイラに指示します。これが、Sun/Oraclesの文書に書かれていることです。
@Deprecated
アノテーションを使用してクラス、メソッド、またはフィールドを非推奨にすると、コードがそのプログラム要素を使用するときにすべてのコンパイラが警告を発行するようになります。対照的に、Sunのコンパイラは現在発行していますが、すべてのコンパイラが常に@deprecated
Javadocタグに基づいて警告を発行するという保証はありません。他のコンパイラはそのような警告を発行しないかもしれません。したがって、@Deprecated
アノテーションを使用して警告を生成する方が、@deprecated
Javadocタグを使用するよりも移植性があります。
完全なドキュメントは 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()}
できることは2つあります。
@Deprecated
アノテーションを追加し、@deprecated
タグを追加します。あなたは両方をするべきです!
この問題について Javaのドキュメント を引用すると、
J2SE 5.0以降、@ Deprecatedアノテーションを使用してクラス、メソッド、またはフィールドを非推奨にしています。さらに、@ deprecatedのJavadocタグを使用して、代わりに使用するものを開発者に教えることができます。
アノテーションを使用すると、非推奨のクラス、メソッド、またはフィールドが使用されたときにJavaコンパイラが警告を生成します。非推奨のコンパイル単位が非推奨のクラス、メソッド、またはフィールドを使用する場合、コンパイラーは非推奨の警告を抑制します。これにより、警告を生成せずに従来のAPIを構築できます。
新しいAPIの使用方法を説明する適切なコメントを付けて、Javadocの@deprecatedタグを使用することを強くお勧めします。これにより、開発者は古いAPIから新しいAPIへの実用的な移行パスを確保できます。
あなたのメソッドに annotation@Deprecated
を使ってください、そしてあなたはそれをあなたのjavadocでも言及するべきです。
@Deprecated
アノテーションを見てください。