2010-04-04 11 views
9

Si verificano problemi nell'utilizzo di EnumSet sul lato client.Utilizzo della classe EnumSet in GWT

ricevo questo messaggio di errore di runtime:

java.util.EnumSet.EnumSetImpl non è predefinito istanziabili (deve avere un costruttore zero argomento o nessun costruttori a tutti) e ha non serializzatore personalizzato.

Si tratta di un problema noto?

Ecco quello che sto facendo (in pratica un App World ciao)

Servizio:

String echo (EnumSet<Names> name) throws IllegalArgumentException; 

Cliente:

echoServ.echo (EnumSet.of(Names.JOHN), new AsyncCallback<String>() 
{ ....... }); 

Shared classe enum enum Nomi {JOHN, N UMAN, OBAMA}

risposta

0

Sembra che il problema è che EnumSet non è serializzabile in base alle leggi di GWT:

  1. E 'assegnabile a IsSerializable o Serializable, sia perché implementa direttamente una di queste interfacce o perché deriva da una superclasse che fa
  2. Tutti non definitive, campi istanza non transienti sono essi stessi serializzabile, e
  3. al GWT 1.5, esso deve avere un (zero argomento) costruttore (con qualsiasi modificatore di accesso) predefinito o nessun costruttore.

Vedere docs per ulteriori informazioni.

Problemi correlati