2009-05-22 11 views
5

mi piacerebbe per generare setter metodo-chaining (setter che restituiscono l'oggetto da impostare), in questo modo:Può Eclipse generare setter metodo-chaining

public MyObject setField (Object value) { 
    this.field = value; 
    return this; 
} 

Questo rende più facile per fare istanze uno-liner , che trovo più facile da leggere:

myMethod (new MyObject().setField (someValue).setOtherField (someOtherValue)); 

È possibile modificare i modelli di Eclipse per fare ciò? Ho modificato il contenuto per includere return this; ma la firma non è stata modificata.

+0

Personalmente non conosco la risposta. Tuttavia, potresti trovare dei risultati cercando interfacce "fluide". http://en.wikipedia.org/wiki/Fluent_interface –

+0

Appena aggiunto il potenziale plug-in, come richiesto (non ancora testato) – VonC

risposta

3

Confermo eclissi (fino a 3.5RC1) non supporta la generazione del setter "metodo concatenato".
Consente solo la personalizzazione di commenti e corpo, non la modifica API di un setter (il che significa che un setter generato restituisce ancora 'void').

Può essere il plugin Builder Pattern può aiutare qui ... (non testato però)

modo classico (non "goof" dal momento che genererà sempre un "void" come tipo di ritorno per il setter):
alt text http://help.eclipse.org/help33/topic/org.eclipse.jdt.doc.user/gettingStarted/images/generate_getter_setter_dialog.png

vs. nuovo modo (, potenzialmente utilizzato come Eclipse plugin)
alt text http://www.javadesign.info/media/blogs/JDesign/DesignConcepts/DesignPatterns/GOF/Creational-BuilderPatternStructure.jpeg

+0

Ero abbastanza sicuro che non sarebbe stata la funzionalità principale. Qualche idea su un plugin che lo fa? –

2

Non utilizzare me stesso eclipse, ma è necessario modificare uno dei modelli standard se non è possibile trovare una funzione.

Si chiama metodo di concatenamento a proposito (che potrebbe aiutare con una ricerca di Google o due).

+0

Grazie, ho modificato la domanda per dichiararlo esplicitamente. –