Come Javadoc gli enumerativi individuali di una classe


84

Sto scrivendo il javadoc per una classe che contiene le proprie enumerazioni. C'è un modo per generare javadoc per le singole enumerazioni? Ad esempio, in questo momento ho qualcosa del genere:

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

Tuttavia, questo documenta solo tutte le enumerazioni nel loro insieme:

Il Javadoc generato

C'è un modo per documentare individualmente ciascuno dei valori di HairColor? Senza spostare l'enum nella sua classe o cambiarlo da un enum?

Grazie in anticipo per qualsiasi aiuto.


Per curiosità, perché vuoi? Hai l'enumerazione elencata come privateenumerazione annidata, quindi gli utenti della tua classe non possono comunque utilizzare l'enumerazione oi suoi valori. E se è pensato per essere pubblico e autonomo, qual è il grosso problema nel documentarlo come una propria unità?
Mark Peters

2
Nel mio codice attuale, è pubblico. E sai come possono essere gli standard aziendali. "Sarebbe meglio" "Peccato, noi che non sappiamo nulla di programmazione pensiamo che dovresti farlo in questo modo". Lol
Snowy Coder Girl

Giusto. Assicurati solo di dire loro che il rilascio verrà posticipato di una settimana a causa di requisiti inamovibili per la documentazione che probabilmente non verrà mai letta. Questo in genere solleva le orecchie di qualcuno a cui importa del tutto.
Mark Peters

2
Haha. Javadoc è piuttosto inutilizzato come javadoc. Ma lo adoro per la codifica. Alcuni programmatori hanno nomi di metodi che non hanno nulla a che fare con ciò che sta realmente accadendo. Come getCat restituisce tutti i gatti che sono corsi su un albero negli ultimi 10 giorni, esclusi i martedì o le vacanze. Haha
Snowy Coder Girl

@RachelG. È un vero fenomeno che ogni sviluppatore pensa di essere superiore agli altri sviluppatori. Senza offesa però.
OddDev

Risposte:


101

Lo fai proprio come qualsiasi altra variabile che faresti con javadoc.


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

    /**
     * Blue color
     */
    blue

}

MODIFICARE:

Da Paŭlo Ebermann: L'enumerazione è una classe separata. Non è possibile includere la sua documentazione completa nella classe inclusa (almeno, senza applicare la patch al doclet standard).


2
Questo genera la stessa cosa (notare il collegamento sull'istantanea). Sto cercando di inserirli direttamente nella classe javadoc (piuttosto che collegarli a un altro javadoc). Ma grazie =) +1 per aver avanzato la descrizione del problema.
Snowy Coder Girl

4
@ Rachel: L'enumerazione è una classe separata. Non è possibile includere la sua documentazione completa nella classe che lo racchiude (almeno, senza patchare il doclet standard).
Paŭlo Ebermann

Si. Ero un po 'preoccupato che fosse così quando si stava verificando il collegamento. Immagino che l'unico modo per includere le singole enumerazioni sarebbe cambiarlo in una classe interna e quindi dichiarare gli oggetti lì e javadoc loro.
Snowy Coder Girl

@ user489041: potresti incorporare i commenti importanti (ad esempio il mio) nella risposta, per riferimento futuro?
Paŭlo Ebermann

Se vuoi farci riferimento, puoi sempre usare {@link Color}o anche {@link Color#red}per esempio, o anche solo {@link #red}quando nello stesso documento da qualsiasi altro javadoc, inclusa la classe javadoc.
flungo

70

Puoi creare un collegamento a ciascun elemento di enum. Tutti gli elementi verranno elencati in javadocs per enum class.

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

    /**
     * Red color
     */
     RED,

    /**
     * Blue color
     */
    BLUE
}

Significa che i campi enum devono essere duplicati nella descrizione enum comune. Non pensare che sia una buona idea.
AlexMakarov
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.