2011-07-01 11 views
59

Sto scrivendo la 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 di simile:Come eseguire Javadoc delle singole enumerazioni di una classe

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

Tuttavia, questo solo i documenti tutte le enumerazioni nel suo complesso:

The generated Javadoc

Esiste un modo per documentare ciascuna delle hairColor valori individualmente? Senza spostare l'eno nella propria classe o cambiarlo da un enum?

Grazie in anticipo per qualsiasi aiuto.

+0

Per curiosità, perché vuoi? L'enumerazione è elencata come enumerazione nidificata "privata", quindi gli utenti della classe non possono comunque utilizzare l'enum oi relativi valori. E se è destinato a essere pubblico e autonomo rispetto a quello che è il grosso problema nel documentarlo come una propria unità? –

+1

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

+0

Abbastanza giusto. Assicurati solo di dire loro che il rilascio verrà spinto indietro di una settimana a causa di requisiti inamovibili per la documentazione che probabilmente non verrà mai letta. Questo in genere infastidisce le orecchie di qualcuno a cui importa del business. –

risposta

66

Lo fai come qualsiasi altra variabile che avresti javadoc.

 

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

    /** 
    * Blue color 
    */ 
    blue 

} 
 

EDIT:

di Paulo Ebermann: L'enum è una classe separata. Non è possibile includere la sua documentazione completa nella classe di inclusione (almeno, senza applicare patch al doclet standard).

+1

Questo genera la stessa cosa (notare il collegamento sull'istantanea). Sto cercando di metterli direttamente nella classe javadoc (piuttosto che collegarli a un altro javadoc). Ma grazie =) +1 per far avanzare la descrizione del problema. –

+4

@Rachel: l'enum è una classe separata. Non è possibile includere la sua documentazione completa nella classe di inclusione (almeno, senza applicare patch al doclet standard). –

+0

Sì. Ero un po 'preoccupato che fosse così quando era in corso il collegamento. Immagino che l'unico modo per includere le singole enumerazioni sia di cambiarlo in una classe interna e quindi dichiarare gli oggetti lì e javadocli. –

40

È possibile creare il collegamento all'elemento di ciascun enum. Tutti gli oggetti saranno elencati in javadoc alla classe enum.

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

    /** 
    * Red color 
    */ 
    RED, 

    /** 
    * Blue color 
    */ 
    BLUE 
} 
Problemi correlati