I would like to make one of my methods "deprecated" = not used anymore.
But still I would like to have it in my API. I just want to show "warning" to anyone using that method.
How can I achieve that?
Use @Deprecated on method. Don't forget about clarifying javadoc field:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
Use both @Deprecated annotation and the @deprecated JavaDoc tag.
The @deprecated JavaDoc tag is used for documentation purposes.
The @Deprecated annotation instructs the compiler that the method is deprecated. Here is what it says in Sun/Oracles document on the subject:
Using the
@Deprecatedannotation to deprecate a class, method, or field ensures that all compilers will issue warnings when code uses that program element. In contrast, there is no guarantee that all compilers will always issue warnings based on the@deprecatedJavadoc tag, though the Sun compilers currently do so. Other compilers may not issue such warnings. Thus, using the@Deprecatedannotation to generate warnings is more portable that relying on the@deprecatedJavadoc tag.
You can find the full document at How and When to Deprecate APIs
since some minor explanations were missing
Use @Deprecated annotation on the method like this
/**
* @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()}