Jak wykonać Javadoc indywidualne wyliczenia klasy


84

Piszę javadoc dla klasy, która zawiera własne wyliczenia. Czy istnieje sposób na wygenerowanie javadoc dla poszczególnych wyliczeń? Na przykład w tej chwili mam coś takiego:

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

Jednak to tylko dokumentuje wszystkie wyliczenia jako całość:

Wygenerowany plik Javadoc

Czy istnieje sposób na osobne udokumentowanie każdej wartości HairColor? Bez przenoszenia wyliczenia do własnej klasy lub zmieniania go z wyliczenia?

Z góry dziękuję za jakąkolwiek pomoc.


Z ciekawości, dlaczego chcesz? Masz wyliczenie wymienione jako privatezagnieżdżone wyliczenie, więc użytkownicy Twojej klasy i tak nie mogą używać wyliczenia ani jego wartości. A jeśli ma być publiczna i samodzielna, to jaka jest wielka sprawa w dokumentowaniu jej jako własnej jednostki?
— Mark Peters

2
W moim rzeczywistym kodzie jest to publiczne. I wiesz, jakie mogą być standardy firmy. „Tak byłoby lepiej” „Szkoda, my, którzy nie wiemy nic o programowaniu, uważamy, że powinieneś to robić w ten sposób”. Lol
— Snowy Coder Girl

Słusznie. Po prostu upewnij się, że powiesz im, że wydanie zostanie przesunięte o tydzień z powodu nieusuwalnych wymagań dotyczących dokumentacji, która prawdopodobnie nigdy nie zostanie przeczytana. To zazwyczaj przykuwa uszy kogoś, komu w ogóle zależy na biznesie.
— Mark Peters

1
Ha ha. Javadoc jest raczej nieużywany jako javadoc. Ale uwielbiam to kodować. Niektórzy programiści mają nazwy metod, które nie mają nic wspólnego z tym, co się faktycznie dzieje. Podobnie jak getCat zwraca wszystkie koty, które wbiegły na drzewo w ciągu ostatnich 10 dni, z wyłączeniem wtorków i świąt. Haha
— Snowy Coder Girl

@RachelG. To fenomen, że każdy deweloper uważa, że ​​jest lepszy od innych twórców. Ale bez obrazy.
— OddDev

Odpowiedzi:


99

Robisz to tak jak każdą inną zmienną, którą zrobiłbyś javadoc.


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

    /**
     * Blue color
     */
    blue

}

EDYTOWAĆ:

Od Paŭlo Ebermanna: wyliczenie jest oddzielną klasą. Nie możesz dołączyć jego pełnej dokumentacji do otaczającej klasy (przynajmniej bez łatania standardowej dokumentacji).


2
Generuje to to samo (zwróć uwagę na link na migawce). Chcę umieścić je bezpośrednio w klasie javadoc (zamiast łączyć się z innym javadoc). Ale dzięki =) +1 za postęp w opisie problemu.
— Snowy Coder Girl

4
@Rachel: Wyliczenie to osobna klasa. Nie możesz dołączyć jego pełnej dokumentacji do otaczającej klasy (przynajmniej bez łatania standardowej dokumentacji).
— Paŭlo Ebermann

Tak. Martwiłem się, że tak właśnie było, kiedy pojawiało się łącze. Wydaje mi się, że jedynym sposobem dołączenia poszczególnych wyliczeń byłaby zmiana jej na klasę wewnętrzną, a następnie zadeklarowanie tam obiektów i javadoc.
— Snowy Coder Girl

@ user489041: Czy mógłbyś dołączyć ważne komentarze (np. mój) do odpowiedzi, na przyszłość?
— Paŭlo Ebermann

Jeśli chcesz się do niego odwołać, zawsze możesz użyć, {@link Color}a nawet {@link Color#red}na przykład, a nawet po prostu {@link #red}w tym samym dokumencie z dowolnego innego javadoc, w tym klasy javadoc.
— flungo

69

Możesz utworzyć link do pozycji każdego wyliczenia. Wszystkie elementy zostaną wymienione w javadocs do klasy wyliczeniowej.

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

    /**
     * Red color
     */
     RED,

    /**
     * Blue color
     */
    BLUE
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.