クラスの個々の列挙型をJavadocする方法


83

独自の列挙型を含むクラスのjavadocを作成しています。個々の列挙型のjavadocを生成する方法はありますか?たとえば、今私は次のようなものを持っています:

/**
 * This documents "HairColor"
 */
private static enum HairColor { BLACK, BLONDE, BROWN, OTHER, RED };

ただし、これは全体としてすべての列挙型を文書化するだけです。

生成されたJavadoc

各HairColor値を個別に文書化する方法はありますか?列挙型を独自のクラスに移動したり、列挙型から変更したりせずに?

助けてくれてありがとう。


好奇心から、なぜあなたはしたいのですか?privateネストされた列挙型として列挙型がリストされているため、クラスのユーザーは列挙型またはその値を使用できません。そして、それがパブリックでスタンドアロンであることを意図している場合、それを独自のユニットとして文書化することの大きな問題は何ですか?
マークピーターズ2011

2
私の実際のコードでは、それは公開されています。そして、あなたは会社の基準がどのようになり得るかを知っています。「これは良いでしょう」「残念ながら、プログラミングについて何も知らない私たちは、あなたがこのようにすべきだと考えています」。笑
雪に覆われたコーダーガール

けっこうだ。おそらく決して読まれることのないドキュメントの移動不可能な要件のために、リリースが1週間遅れることを彼らに伝えてください。それは通常、ビジネスにまったく関心のある人の耳を刺激します。
マークピーターズ2011

1
はは。Javadocはjavadocとしてはかなり使用されていません。しかし、私はコーディングのためにそれが大好きです。一部のプログラマーは、実際に起こっていることとは何の関係もないメソッド名を持っています。getCatのように、火曜日や祝日を除く、過去10日間に木を駆け上がったすべての猫を返します。ハハ
Snowy Coder Girl

@レイチェルG。すべての開発者が自分が他の開発者よりも優れていると考えるのはかなりの現象です。しかし、不快感はありません。
OddDev 2016

回答:


99

javadocで行う他の変数と同じように実行します。


/**
 *  Colors that can be used
 */
public enum Color
{
    /**
     * Red color
     */
    red,

    /**
     * Blue color
     */
    blue

}

編集:

PaŭloEbermannから:列挙型は別のクラスです。完全なドキュメントを囲んでいるクラスに含めることはできません(少なくとも、標準のドキュメントにパッチを適用しない限り)。


2
これは同じものを生成します(スナップショット上のリンクに注意してください)。私はそれらを(別のjavadocにリンクするのではなく)クラスjavadocに直接配置しようとしています。しかし、問題の説明を進めてくれてありがとう=)+ 1。
Snowy Coder Girl

4
@レイチェル:列挙型は別のクラスです。完全なドキュメントを囲んでいるクラスに含めることはできません(少なくとも、標準のドキュメントにパッチを適用しない限り)。
パウロEbermann

ええ。リンクが発生したときの様子が気になりました。個々の列挙型を含める唯一の方法は、それを内部クラスに変更してから、そこでオブジェクトを宣言し、それらをjavadocすることだと思います。
Snowy Coder Girl

@ user489041:将来の参考のために、重要なコメント(私のコメントなど)を回答に組み込んでいただけますか?
パウロEbermann

それを参照したい場合は、いつ{@link Color}でも{@link Color#red}、またはたとえば、{@link #red}クラスjavadocを含む他のjavadoc内から同じドキュメント内にある場合でも使用できます。
flungo 2015

69

各列挙型のアイテムへのリンクを作成できます。すべてのアイテムは、列挙型クラスのjavadocsにリストされます。

/**
 *  Colors that can be used
 *  {@link #RED}
 *  {@link #BLUE}
 */
public enum Color {

    /**
     * Red color
     */
     RED,

    /**
     * Blue color
     */
    BLUE
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.