Eu criei uma classe TesteA : nome, telefone, dataNascimento e para para o método compara quero saber o valor do atributo nome, telefone e dataNascimento

TesteA obj = new TesteA("Rita", "9103", new Date(System.currentTimeMillis()));

public void compara(Object obj) {
int i = 0;
try {
Class cls = obj.getClass();
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor props[] = beanInfo.getPropertyDescriptors();
 
for (i = 0; i < props.length; i++) {
    System.out.println("1 = "+props[0].getName());
    System.out.println("2 = "+props[0].getValue(props[0].getName()));
}
 
1 = telefone
2 = null
1 = telefone
2 = null
1 = telefone
2 = null
 
 
 
Rita Fernandes
Ministério da Saúde - DATASUS
tel. 21 3974-7147
----- Original Message -----
Sent: Thursday, May 29, 2003 3:48 PM
Subject: Re: [JUG-Petro] reflect

Rita,

nao entendi direito o que vc quer fazer. Poderia me explicar novamente?

> Marcelo,
>
> Please,
>
> eu estou passando para o metodo compara :
>
>         TesteA obj = new TesteA("Rita", "9103", new
> Date(System.currentTimeMillis()));
>
> Quando eu executo o programa dá esse erro :
>
>     setter = public void
> teste.reflect.TesteA.setTelefone(java.lang.String)    getter =
> public void teste.reflect.TesteA.setTelefone(java.lang.String)  
>  java.lang.IllegalArgumentException: object is not an instance of
> declaring class
>
> public void compara(Object obj) {
> int i = 0;
> try {
>     Class cls = obj.getClass();
>     BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
>     PropertyDescriptor props[] = beanInfo.getPropertyDescriptors();
>     Method setter = null;
>     Method getter = null;
>     for (int j = 0; j < props.length; j++) {
>         getter = props[j].getReadMethod();
>         setter = props[j].getWriteMethod();
>         System.out.println("setter = " + setter);
>         System.out.println("getter = " + setter);
>         if (setter != null) {
>             setter.invoke(this, new Object[] { getter.invoke(obj,
>  new Object[]{}) });        }        break;    } } catch (Throwable
> e) { System.err.println(e); }
>
> Rita Fernandes
> Ministério da Saúde - DATASUS
> tel. 21 3974-7147
>
> ----- Original Message -----
> From: Marcelo de Mattos Mayworm
> To: [EMAIL PROTECTED]
> Sent: Thursday, May 29, 2003 12:04 PM
> Subject: Re: [JUG-Petro] reflect
>
> Ola Rita,
>
> de uma olhada em http://jakarta.apache.org/commons/beanutils/api/
>
> Acredito que o uso do BeanUtils ira ajudar bastante vc.
>
> []'s
> Marcelo Mayworm
> Java User Group Petropolis
>
> > public boolean compara(Object o, Object o2) {
> > }
> >
> > Eu quero pegar o valor do atributo via refletion e comparar se eles
> > sao iguais ....
> >
> > Em relacao a pegas os metodos, construtores, campos tudo bem .....
> >
> > Mas como pegar o conteudo da variavel. Alguem tem algum exemplo ?
> >
> > Class c1 = obj1.getClass();
> >
> > Method[] methods = c1.getDeclaredMethods();
> >
> > Field[] fields = c1.getFields();
> >
> > Constructor[] constructors = c1.getConstructors();
> >
> > System.out.println("\nMethods:");
> >
> > for (int i = 0; i < methods.length; ++i) {
> >
> > System.out.println(" " + methods[i]);
> >
> > }
> >
> > System.out.println("\nFields:");
> >
> > for (int i = 0; i < fields.length; ++i) {
> >
> > System.out.println(" " + fields[i]);
> >
> > }
> >
> > System.out.println("\nConstructors:");
> >
> > for (int i = 0; i < constructors.length; ++i) {
> >
> > System.out.println(" " + constructors[i]);
> >
> > }
> >
> > System.out.println("**************************************");
> >
> > Class c2 = obj2.getClass();
> >
> > methods = c2.getDeclaredMethods();
> >
> > fields = c2.getFields();
> >
> > constructors = c2.getConstructors();
> >
> > System.out.println("\nMethods:");
> >
> > for (int i = 0; i < methods.length; ++i) {
> >
> > System.out.println(" " + methods[i]);
> >
> > }
> >
> > System.out.println("\nFields:");
> >
> > for (int i = 0; i < fields.length; ++i) {
> >
> > System.out.println(" " + fields[i]);
> >
> > }
> >
> > System.out.println("\nConstructors:");
> >
> > for (int i = 0; i < constructors.length; ++i) {
> >
> > System.out.println(" " + constructors[i]);
> >
> > }
> >
> > Rita Fernandes
> > Ministério da Saúde - DATASUS
> > tel. 21 3974-7147
>
> Marcelo de Mattos Mayworm
> Tel.: 0xx21 9392-3864  
> [EMAIL PROTECTED]
>
> Conhecendo-se a quietude, pode-se possuir a estabilidade.
> Conhecendo a estabilidade, pode-se encontrar a serenidade.
> Conhecendo a serenidade, pode-se encontrar a paz.
> Possuindo a paz, então pode-se pensar.
> E podendo pensar, pode-se agir.
> Mêncio (Filósofo chinês)
>
> Yahoo! Groups Sponsor
>
> To unsubscribe from this group, send an email to:
> [EMAIL PROTECTED]
>
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


Marcelo de Mattos Mayworm
Tel.: 0xx21 9392-3864  
[EMAIL PROTECTED]

Conhecendo-se a quietude, pode-se possuir a estabilidade.
Conhecendo a estabilidade, pode-se encontrar a serenidade.
Conhecendo a serenidade, pode-se encontrar a paz.
Possuindo a paz, então pode-se pensar.
E podendo pensar, pode-se agir.
Mêncio (Filósofo chinês)


Yahoo! Groups Sponsor
ADVERTISEMENT
Click Here!

To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

Responder a