Quando enviamos parâmetros de uma aplicação em Flex para uma aplicação Java, os dados são convertidos automaticamente de um tipo de dados ActionScript para um tipo de dados Java.
Os tipos de dados mais simples, como Boolean e String, são convertidos exatamente para os mesmos objetos em Java, pois eles existem nas duas APIs. No entanto, o Flex sempre tenta fazer a associação mais simples entre a sua API e a API do Java.
Um Array ActionScript pode ser convetido de várias formas no Java.
A tabela a seguir mostra os tipos de conversão nativos suportados de ActionScript (AMF3) para Java:
ActionScript (AMF 3) |
Java |
Binding Java suportado |
---|---|---|
Array (dense) |
java.util.List |
java.util.Collection, Object[ ] (native array) Se o tipo for uma interface:
|
Array (sparse) |
java.util.Map |
java.util.Collection, native array |
Boolean |
java.lang.Boolean |
Boolean, boolean, String |
flash.utils.ByteArray |
byte [] |
|
flash.utils.IExternalizable |
java.io.Externalizable |
|
Date |
java.util.Date (formatted for Coordinated Universal Time (UTC)) |
java.util.Date, java.util.Calendar, java.sql.Timestamp, java.sql.Time, java.sql.Date |
int/uint |
java.lang.Integer |
java.lang.Byte, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Short, java.math.BigDecimal, String, tipos primitivos byte, double, float, long, e short |
null |
null |
primitives |
number |
java.lang.Double |
java.lang.Byte, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Short, java.math.BigDecimal, String, 0 (zero) se null for enviado, tipos primitivos byte, double, float, long, e short |
Object (generic) |
java.util.Map |
Se for a interface Map, o Data Services do Flex cria um novo java.util.HashMap para java.util.Map e um novo java.util.TreeMap para java.util.SortedMap. |
String |
java.lang.String |
java.lang.String, java.lang.Boolean, java.lang.Number |
typed Object |
quando você usa a metadata(anotação) [RemoteClass] que especifica a classe remota. A entidade remota deve ter obrigatoriamente um construtor sem argumentos. |
typed Object |
undefined |
null |
null para Object, valores default para primitivos |
XML |
org.w3c.dom.Document |
org.w3c.dom.Document |
XMLDocument (legacy XML type) |
org.w3c.dom.Document |
org.w3c.dom.Document |
Primitivos não podem ser nulos em Java. Quando passar um Number ou Boolean do cliente Flex para o servidor Java, o Flex irá interpretar como valor default para os primitivos:
0 para double, float, long, int, short, byte;
u0000 para char;
false para boolean.
Referência: Adobe Livedocs
Opa!
Muito bom o post!
Muito útil principalmente pra quem ta começando com Flex (como eu) e precisa de uma luz!
Valew, Abraço!
Aee!! Até que enfim…procurei essa tabela por toda parte! Em que documentação voce achou ela? garimpei a do BlazeDS e nada! >
Na verdade eu coloquei o link como referência no post, mas ficou bem pequeno heheh!
O link é esse: http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001103.html
Demorei um tempão para achar, por isso postei aqui heheh!!
Abraço!