Olá Rafa,
Desculpe a demora na resposta, tive contra-tempos essa semana que me
deixaram de cama, mas sobrevivi, rsrs.
Bom testei não funcionou.
Abaixo a classe que vc me mandou adaptada ao meu problema e os
resultados.
private void teste (ASObject value){
try {
Method m[] = value.getClass().getDeclaredMethods();
Field p[] = value.getClass().getDeclaredFields();
for (int i = 0; i < m.length; i++) {
System.out.println("Método: "+ m[i].toString() );
}
for (int i = 0; i < p.length; i++) {
System.out.println("Propriedade: "+ p[i].toString() );
}
}
catch (Throwable e) {
System.err.println(" Erro Teste: " +e);
}
}
public void toJavaTeste( List<Object> value ) {
Object[] arr = value.toArray();
ASObject item = (ASObject) arr[0];
teste(item);
}
Resultado: (System.out.println();)
Método: public java.lang.String
flex.messaging.io.amf.ASObject.toString()
Método: public int flex.messaging.io.amf.ASObject.hashCode()
Método: public java.lang.String
flex.messaging.io.amf.ASObject.getType()
Método: public void
flex.messaging.io.amf.ASObject.setType(java.lang.String)
Propriedade: static final long
flex.messaging.io.amf.ASObject.serialVersionUID
Propriedade: private boolean flex.messaging.io.amf.ASObject.inHashCode
Propriedade: private boolean flex.messaging.io.amf.ASObject.inToString
Propriedade: java.lang.String flex.messaging.io.amf.ASObject.namedType
Conclusão:
Tanto o método "getClass().getDeclaredMethods();" quanto
"getClass().getDeclaredFields();" capturam as respectivas informações
DECLARADAS da classe original do objeto, no caso do teste ASObject,
logo, não consegue encontrar as propriedades criadas dinamicamente no
flex, simplesmente porque elas não foram declaradas e não existem na
Classe original Object (Flex).
Acredito que a melhor solução (até agora), é transformar o ASObjet em
Object [] e acessar as posições, pena que na conversão bagunça tudo.
Fiz uma funçãozinha no java pra criar esse mesmo objeto dinâmico, e a
dúvida é a mesma: Como recuperar um valor guardado dessa forma?
Exemplo:
//Criando um lista de objeto dinâmico
List<Object> list = new ArrayList<Object>();
Hashtable<String,Double> rowList = new
Hashtable<String,Double>();
rowList.put("Propriedade 1 ", 41234);
rowList.put("Propriedade 2 ", 45487);
list.add(rowList);
Como recuperar o valor da Propriedade 1?
Isso já resolveria.
Rafa, muito obrigado mesmo pela ajuda.
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev