web-dev-qa-db-ja.com

javaの@Documentedアノテーション

Javaの@Documentedアノテーションの目的は何ですか?

私はドキュメントを見ましたが、そこから多くを得ることができませんでした。明確な例の助けを借りて誰かが指摘できますか

57
praveenkjvs

@Documentedはメタ注釈です。アノテーションを定義するときに@Documentedを適用して、アノテーションを使用するクラスが生成されたJavaDocでこれを表示するようにします。私はそれをあまり使用していませんが、 ここに例があります 。以前の質問では、それは Eclipseでは自動的に動作しない であることが示唆されていますが、Eclipse 3.6でテストし、@Documentedアノテーションを添付するかどうかに関係なく、JavaDocポップアップにアノテーションが表示されます彼らへ。

次に、Springの例を示します。これにより、JavaDocでトランザクションメソッドがそのようにマークされます。

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Transactional {
54
Adrian Cox

注釈(たとえば、@InWork)が@Documentedである場合、その@InWork注釈を持つすべてのクラスについて、javadocによって生成されたテキストには、参照として@InWorkテキストが含まれます。注釈に。

注釈:

@Documented
@Inherited  // for descenders of the annotation to have the @Documented feature automatically
@Retention(RetentionPolicy.RUNTIME) // must be there
public @interface InWork {
    String value();
}

注釈付きターゲット:

/**
 * Annotated class.
 */
@InWork(value = "")
public class MainApp {...}

Javadocテキスト:

enter image description here

そのため、注釈をjavadocテキストに表示する必要があるかどうかを決定する必要があります。表示する場合は、@Documentedを設定する必要があります。

上記の情報は Oracleドキュメント から取得されます。


Eclipseでは、javadocで生成されたテキストのすべての注釈が@Documentedであるかどうかに注意してください。

4.3バージョンでも正しいです。

33
Gangnus

Java Tutorials に便利なページが見つかりました。このページでは、@Documented。特に、プリアンブルの例( section Documentation )の下部にあるNoteブロックを見てください。

3
kdopen