| View previous topic :: View next topic |
| Author |
Message |
APB Guest
|
Posted: Sun Jun 27, 2004 10:53 pm Post subject: Ottenere il nome della classe corrente |
|
|
Per assistermi nel debugging ho creato un metodo verbose(String text) che
mi stampa a console i vari passi di esecuzione.
Al suo interno il metodo verifica che il debugging sia attivato (variabile
statica VERBOSE) e quindi scrive su standard out.
Vorrei che scrivesse anche il nome della classe. Per ora l'ho scritto a
mano visto che il metodo verbose() è copiato & incollato in ogni classe ma
ora vorrei riordinare il tutto e mettere il metodo in una superclasse,
dalle quale le altri discendono.
Dovrei quindi parametrizzare:
===================
System.out.println("(Mambo) " + prefix + text.replaceAll("n", "n(Mambo)
"));
===================
Questo per la classe "Mambo"... come lo rendo universale?
Grazie!
Alex.
--
___________________________________________________________
a p bertolini
(www.webwarrior.org)
|
|
| Back to top |
|
 |
Gian Luca Dalla Torre Guest
|
Posted: Mon Jun 28, 2004 6:18 am Post subject: Re: Ottenere il nome della classe corrente |
|
|
Ogni classe Java possiede il metodo getClass() (ereditato da Object) che
contiene le informazioni di reflection (tra cui anche il nome).
Però per fare logging ti consiglio di utilizzare il framework Log4J che
ti semplificherà molto la vita:
http://logging.apache.org/log4j/docs/
|
|
| Back to top |
|
 |
APB Guest
|
Posted: Mon Jun 28, 2004 9:04 am Post subject: Re: Ottenere il nome della classe corrente |
|
|
Dario ca?èinomane wrote:
| Quote: |
IMHO è decisamente una scelta nob-buona.
Se hai gia, per esempio, le classi Frutta, Impiegati e Alberghi
vorresti fare una super-classe di queste tre (che non hanno un ca..o
in comune fra loro!) per poter usare il metodo verbose?
Molto poco Object Oriented!
|
Grazie Dario ma ci sono numerosi altri motivi per farlo, fosse solo per
questo sarei sicuramente d'accordo!
Alex
--
___________________________________________________________
a p bertolini
(www.webwarrior.org)
|
|
| Back to top |
|
 |
APB Guest
|
Posted: Mon Jun 28, 2004 9:11 am Post subject: Re: Ottenere il nome della classe corrente |
|
|
Gian Luca Dalla Torre wrote:
| Quote: | Ogni classe Java possiede il metodo getClass() (ereditato da Object)
che contiene le informazioni di reflection (tra cui anche il nome).
|
Sì, ho visto il metodo ma non riesco ad inserirlo nel codice! Lo voglio
applicare alla classe corrente e non a una generica classe di cui conosco
già a priori l'istanza.
Volevo fare qualcosa del tipo
System.out.println(this.getClass().getName()) ma ho delle storie sul "this"
Me lo tengo da parte. Per ora voglio solo un po' di verbosità durante
l'esecuzione, senza dovermi portar dietro una ulteriore libreria. Grazie
però, sembra davvero "cool"!
Alex.
--
___________________________________________________________
a p bertolini
(www.webwarrior.org)
|
|
| Back to top |
|
 |
Gian Luca Dalla Torre Guest
|
Posted: Mon Jun 28, 2004 9:24 am Post subject: Re: Ottenere il nome della classe corrente |
|
|
| Quote: |
Volevo fare qualcosa del tipo
System.out.println(this.getClass().getName()) ma ho delle storie sul "this"
|
Che tipo di storie?
In teoria this.getClass() non dovrebbe darti nessun problema...
|
|
| Back to top |
|
 |
APB Guest
|
Posted: Mon Jun 28, 2004 9:31 am Post subject: Re: Ottenere il nome della classe corrente |
|
|
Gian Luca Dalla Torre wrote:
| Quote: | Volevo fare qualcosa del tipo
System.out.println(this.getClass().getName()) ma ho delle storie sul
"this"
Che tipo di storie?
In teoria this.getClass() non dovrebbe darti nessun problema...
|
System.out.println(this.getClass().getClassName());
"Cannot use this in a static context"
Cmq ho usato il trucco di Dario di prendere il primo elemento dello
stack-trace. Non è elegante ma fa quello che desidero.
Alex.
--
___________________________________________________________
a p bertolini
(www.webwarrior.org)
|
|
| Back to top |
|
 |
|