Gostaria de tornar um dos meus métodos "obsoleto" = não usado mais.
Mas ainda assim eu gostaria de tê-lo na minha API. Eu só quero mostrar "aviso" para quem usa esse método.
Como posso conseguir isso?
Gostaria de tornar um dos meus métodos "obsoleto" = não usado mais.
Mas ainda assim eu gostaria de tê-lo na minha API. Eu só quero mostrar "aviso" para quem usa esse método.
Como posso conseguir isso?
Respostas:
Use @Deprecated
no método Não se esqueça de esclarecer o campo javadoc:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
reason
com um valor padrão ""
não poderia ter prejudicado
@deprecated
mensagem no comentário poderia ser adicionado ao @Deprecated
(um local para corrigi-los todos) ...
Use a @Deprecated
anotação e a @deprecated
tag JavaDoc.
A @deprecated
tag JavaDoc é usada para fins de documentação.
A @Deprecated
anotação instrui o compilador que o método está obsoleto. Aqui está o que diz o documento Sun / Oracles sobre o assunto:
O uso da
@Deprecated
anotação para reprovar uma classe, método ou campo garante que todos os compiladores emitam avisos quando o código usar esse elemento do programa. Por outro lado, não há garantia de que todos os compiladores sempre emitam avisos com base na@deprecated
tag Javadoc, embora atualmente os compiladores da Sun o façam. Outros compiladores podem não emitir esses avisos. Portanto, usar a@Deprecated
anotação para gerar avisos é mais portátil do que confiar na@deprecated
tag Javadoc.
Você pode encontrar o documento completo em Como e quando descontinuar APIs
@deprecated
tag javadoc (em Java 4-), o compilador marcou o método (classe, campo) como reprovado e os IDEs mostraram avisos, mesmo quando nenhuma fonte estava disponível.
pois faltavam algumas explicações menores
Use @Deprecated
anotação no 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()}
Há duas coisas que você pode fazer:
@Deprecated
anotação ao método e@deprecated
tag ao javadoc do métodoVocê deve fazer as duas coisas !
Citando o documentação java sobre este assunto:
A partir do J2SE 5.0, você preteriu uma classe, método ou campo usando a anotação @Deprecated. Além disso, você pode usar a tag Javadoc @ obsoleta para informar aos desenvolvedores o que usar.
O uso da anotação faz com que o compilador Java gere avisos quando a classe, método ou campo descontinuado é usado. O compilador suprime avisos de descontinuação se uma unidade de compilação descontinuada usar uma classe, método ou campo descontinuado. Isso permite criar APIs herdadas sem gerar avisos.
É altamente recomendável usar a tag Javadoc @ obsoleta com comentários apropriados explicando como usar a nova API. Isso garante que os desenvolvedores tenham um caminho de migração viável da API antiga para a nova API