Newsgroup: it.comp.java
Titolo: generazione automatica del costruttore

diciamo che avete una classe con n campi e avete bisogno di un
costruttore con n parametri. esiste un agggeggio in grado di generarvi
automaticamente tale costruttore? io uso jbuilder e tale feture non l'ho
trovata nemmeno tra gli open tools... pero' accoppierei jbuilder a
qualche altro strumento in grado di fare la suddetta operazione se
necessario.
ciao
-- 
Seti@Home Java Applets
http://maruko.cjb.net/

 automaticamente tale costruttore?
AFAIK no. Ed io sono piuttosto scettico sull'utilita' di un tale
costruttore...
Davide


diciamo che la classe modella una tabella in un db. un campo coincide
con un attributo della classe. io scrivo gli attributi e poi gli dico: e
adesso fammi il costruttore. non mi sembra poi tanto inutile
automatizzare il processo.


Intendi un costruttore il cui numero di parametri non è stabilito a priori?
Tipo la printf del C?
Penso proprio che non esista una cosa simile.
In casi simili la cosa migliore è leggersi un file di Properties.
Obblighi il costruttore ad accettare un file di questo genere e da li ti
leggi tutte le proprietà che ti servono.

io creerei un oggetto che ha bisogno o di un Vector o di un Array nel
costruttore
--------------------------------
Inviato via 
http://usenet.libero.it


no, intendo ho una classe con N attributi e voglio generare il
costruttore per settare gli N attributi.
class X {
	int a1;
	int a2;
	int a3;
	//mi piacerebbe evitare di scrivere tutte le volte questa roba
	public X(int p1, int p3, int p3)
	{
		a1 = p1;
		a2 = p2;
		a3 = p3;


Se ti leggi un file di properties (che è una baggianata da leggere) puoi
aggiornare anche molto velocemente molte caratteristiche del tuo programma
senza ricompilarlo.
Ad esempio sono utilizzatissimi, per caricare le immagini dei programmi,
basta cambiare il valore della chiave.
Questi file li sigli e li nomini  come ti pare (buona regola è comunque
dargli un nome significativo con estensione props) e la loro sintassi è :
    kiave = valore
Se vuoi aggiungere dei commenti basta mettere prima di ogni riga il valore #
Il codice del tuo loader è tutto quì :
    Properties      props = new Properties();
    props.load(inputStream);
Properties estende HashTable, e il suo utilizzo è semplicissimo.

 automatizzare il processo.
Guarda, io scrissi un paio di cose in quella direzione qualche tempo fa. 
Oggi c'e' molto di meglio, ma forse ti possono essere utili.
Uno e' cmaker (
http://space.tin.it/computer/csadun/cmaker
 o 
http://sourceforge.net/projects/cmaker
) - che crea esattamente classi 
"mirror" di tabelle.
L'altro e' skelm (
http://sourceforge.net/projects/skm/
) che genera skeleton 
implementation di interfacce e classi astratte (volendo, costruttori 
compresi nel secondo caso).
Non e' proprio quello che vuoi tu, ma farlo e' abbastanza semplice - basta 
un minimo di applicazione della reflection.
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

automaticamente tale costruttore? io uso jbuilder e tale feture non l'h
con tutti i suoi limiti eccone uno fatto da me. zip con allegate le
istruzioni (ROTFL). perdonate l'eventuale "malaprogrammazione".
http://maruko.cjb.net/gencostruttore.zip


Marco Parmeggiani wrote:

In quel caso io passo il ResultSet come parametro