Javadoc per un metodo "sovraccarico" statico

3

Il mio problema è il seguente:

Ho un'interfaccia che richiede le sue implementazioni per implementare un metodo statico, ovvero void load() . Tuttavia, fino a Java 8, sembra che non otterremo metodi statici nelle interfacce. Sono certo che i miei utenti lo implementino correttamente, ma il mio problema è come scrivere un documento appropriato.

Ci sono fino a 50 implementazioni di questa interfaccia e non essere in grado di ereditare javadoc è un problema.

Qual è il modo migliore di procedere nel mio caso? Devo documentare un'implementazione casuale e aggiungere le annotazioni @see negli altri? Mi sembra sporco.

Qualsiasi suggerimento è benvenuto.

    
posta Mog 18.06.2013 - 17:10
fonte

1 risposta

3

Come hai affermato, non esiste un modo (fino a Java 8) per un'interfaccia per richiedere un metodo statico. Non esiste anche un modo per sovrascrivere un metodo statico, quindi quale documentazione potrebbe essere effettivamente ereditata?

Vedo alcune opzioni:

  • Se la documentazione dell'interfaccia descrive il metodo (che mi aspetterei - come dovrebbero sapere gli implementatori sul metodo load() ?), avere i documenti di tutte le implementazioni collegati ad esso:

    / ** metodo statico richiesto come previsto da {@link Caricabile} * /

  • Se esiste un'implementazione predefinita sana per il metodo load() , inseriscila in una classe astratta che implementa l'interfaccia e fai in modo che i documenti per tutte le implementazioni si colleghino ad essa (piuttosto che una semplice implementazione casuale):

    / ** @see AbstractLoadable # load () * /

  • Estrai la funzionalità polimorfica nel metodo load() in un metodo non statico. L'interfaccia può quindi richiedere esplicitamente il nuovo metodo e javadoc erediterà automaticamente la documentazione dall'interfaccia. (Mi rendo conto che potrebbe non essere un'opzione praticabile)

risposta data 24.06.2013 - 00:29
fonte

Leggi altre domande sui tag