Pessoal, bom dia.
 
Eu tenho um enumerador no Flex que não estou conseguindo passar a referencia 
para o java, já tentei fazer por inteiros também na variavel type mas não da 
certo, a solução que encontrei foi passar a string e depois usar o valueOf 
porém o ideal seria passar o enumerador como referencia mesmo.
 
Alguem tem uma solução?
 
Abraços.
 
 
Enumerador no FLEX
 
[Bindable]
 [RemoteClass(alias="model.EnumCRUD")]
 public final class EnumCRUD
 {
  public static const INSERT:EnumCRUD = new EnumCRUD("INSERT");
  public static const DELETE:EnumCRUD = new EnumCRUD("DELETE");
  public static const UPDATE:EnumCRUD = new EnumCRUD("UPDATE");
  public static const SELECT:EnumCRUD = new EnumCRUD("SELECT");
  public var type:String;
  public function EnumCRUD(enum:String){
   type = enum;
  }
 } 
 
VO no FLEX
 
 [Bindable]
 [RemoteClass(alias="model.VOCRUD")]
 public class VOCRUD
 {
  private var _enumCRUD:String; O que eu gostaria (private var 
_enumCRUD:EnumCRUD)
  private var _voGeneric:Object;
  public function get enumCRUD():String { return _enumCRUD; }
  public function set enumCRUD(value:String):void
  {
   if (_enumCRUD == value)
    return;
   _enumCRUD = value;
  }
  public function get voGeneric():Object { return _voGeneric; }
  public function set voGeneric(value:Object):void
  {
   if (_voGeneric == value)
    return;
   _voGeneric = value;
  }

  public function VOCRUD()
  {
  }
 } 
 
Metodo para chamar o serviço

   protected function button1_clickHandler(event:MouseEvent):void
   {
      var voCRUD:VOCRUD = new VOCRUD();
      voCRUD.enumCRUD = EnumCRUD.INSERT.type;
      var token:AsyncToken = remoteObject.CRUD(voCRUD);
      token.addResponder(new mx.rpc.Responder(CRUD, erro));
   }

VO no java
 
package model;
import java.io.Serializable;
import java.util.ArrayList;
import model.filtro.VOWhere;
public class VOCRUD implements Serializable,Cloneable {
 private static final long serialVersionUID = -4745316203517144593L;
 private String enumCRUD; o que eu gostaria (private EnumCRUD enumCRUD)
 private Object voGeneric;
 private ArrayList<VOWhere> voWhereList;
 public void setEnumCRUD(String enumCRUD) {
  this.enumCRUD = enumCRUD;
 }
 public String getEnumCRUD() {
  return enumCRUD;
 }

 public void setVoGeneric(Object voGeneric) {
  this.voGeneric = voGeneric;
 }
 public Object getVoGeneric() {
  return voGeneric;
 }
 public void setVoWhereList(ArrayList<VOWhere> voWhereList) {
  this.voWhereList = voWhereList;
 }
 public ArrayList<VOWhere> getVoWhereList() {
  return voWhereList;
 }
 @Override
 public String toString() {
  StringBuilder sb = new StringBuilder();
  sb.append("[");
  sb.append(this.getEnumCRUD());
  sb.append("]");
  return sb.toString();
 }
 public VOPropriedade clone(){
  return this.clone();
 }

}

Enumerador no java 

package model;
import java.io.Serializable;
public enum EnumCRUD implements Serializable,Cloneable {
 INSERT,
 DELETE,
 UPDATE,
 SELECT
}                                         

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