Não tenho certeza se essa é a solução(só devo poder testar em casa), mas lá
vai...

Parece que a conversão acontece sim de forma automática, e existe uma tabela
de compatibilidade entre os tipos ActionScript(AMF3) e Java, que pode ser
vista 
aqui<http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=ent_services_config_097_08.html>
.
Portanto creio que o result pode ser diretamente atribuído a um
ArrayCollection, sem eu fazer um loop(como havia tentado no handler do
Result) . Mas preciso retornar na classe Java Collection, ou
Collection<MinhaClasse>, e eu estava retornando ArrayList<MinhaClasse>, quem
puder testar antes de mim posta aqui pra ver se funciona!

[]'s

Silvio Luiz

On 7/11/07, Silvio Luiz <[EMAIL PROTECTED]> wrote:
>
> Bem..
>
> Segundo o livedocs, 
> nessa<http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=metadata_141_05.html>página,
>  o ArrayElementType serve pra que um array só aceite valores de
> determinado tipo, mais ou menos como é feito no Java5:
>
> Collection<String> colNomes, no AS seria:
>
> [ArrayElementType("String")]
>     public var colNomes:Array;
>
> Só não fica claro se posso usar isso pra mapear classes Java mesmo..quem
> souber... :)
>
>
>  On 7/11/07, Silvio Luiz <[EMAIL PROTECTED]> wrote:
> >
> > Bom dia,
> >
> > Declaro em meu mxml um remoteObject, e através do GraniteDS, uso uma
> > classe Java que me retorna uma coleção de objetos do tipo Usuario(com nome,
> > idade e um outro objeto Grupo, com descricao). A questão é, pra que eu use
> > essa coleção como dataProvider de uma grid, como eu posso mapear exatamente
> > a minha classe pra que seus campos possam ser usados como datafield nas
> > dataGrigColumns? Segundo o exemplo do graniteDS que trabalha com Ejb3, eu
> > precisaria fazer algo assim:
> >
> >    [ArrayElementType("meuPacote.minhaClasse")]
> >    [Bindable]
> >    public var dados:ArrayCollection = new ArrayCollection();
> >
> > E no método ao retornar o result:
> >
> >      private function onResultGetUsuarios(event:ResultEvent):void{
> >            var result:ArrayCollection = ArrayCollection(event.result);
> >            for (var i:int = 0; i < result.length; i++) {
> > *              var usuario:Usuario= Usuario(result.getItemAt(i));
> > *              dados.addItem(usuario);
> >            }
> >       }
> >
> > Fazendo assim é gerado um erro, mas quando substituo a linha em negrito
> > por:
> >
> >        var usuario:Object = Object(result.getItemAt(i));
> >
> > funciona! Mas apenas pra os dados primitivos de meu objeto Usuario, ou
> > seja, apenas nome e idade.
> > A pergunta é: eu realmente consigo usar esse ArrayElementType pra fazer
> > o que estou pensando? Ou seja, mapear meu Pojo no lado do Flex? Se não como
> > eu posso fazer isso, preciso criar uma classe .AS pra mapear meu objeto? Meu
> > objetivo é retornar uma coleção no "lado Java da força", e usar o result no
> > "lado Flex da força" como dataProvider de um componente qualquer que eu
> > queira..
> >
> > []'s
> >
> > Silvio Luiz
> >
>
>
>
> --
> Silvio Luiz




-- 
Silvio Luiz

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a