supponga di creare una persona nomi di classi utilizzando il builder, e supponiamo che la classe Builder contiene i metodi body()
, head()
, arms()
e naturalmente build()
e prendere in considerazione metodi head()
e build()
obbligatorio per l'utente di questa classe.Come contrassegnare un metodo obbligatorio?
Vorremmo in qualche modo contrassegnare questi metodi obbligatori, se possibile usando annotazioni. Se un utente di questa classe prova a creare un'istanza Person ma ha dimenticato di chiamare uno di questi metodi, vorremmo ricevere qualche tipo di avviso - sia dal compilatore java, sia da Eclipse o Maven, che usiamo per costruire il nostro progetti - ognuno di loro farebbe.
È possibile fare? Quale strada suggeriresti?
Dubbi che puoi farlo in fase di compilazione, tranne che in * molto * casi speciali. Dovrebbe essere abbastanza facile avere controlli come questo in fase di esecuzione però (lo faccio sempre). – NPE
Non riesco ad immaginare un modo per fare questo, quindi aggiungere proprietà obbligatorie come argomenti al costruttore di builder o lanciare un'eccezione quando viene chiamato 'build', ma sono curioso di sapere se qualcuno ha un'idea migliore. –