I don't think so, as I believe that is how it's supposed to work. From
the docs (http://code.google.com/webtoolkit/doc/1.6/
DevGuideServerCommunication.html#DevGuideSerializableTypes):

A type is serializable and can be used in a service interface if one
of the following is true:
The type is primitive, such as char, byte, short, int, long, boolean,
float, or double.
The type an instance of the String, Date, or a primitive wrapper such
as Character, Byte, Short, Integer, Long, Boolean, Float, or Double.
The type is an enumeration. Enumeration constants are serialized as a
name only; none of the field values are serialized.
The type is an array of serializable types (including other
serializable arrays).
The type is a serializable user-defined class.
The type has at least one serializable subclass.

... and ...

A user-defined class is serializable if all of the following apply:
 1. It is assignable to IsSerializable or Serializable, either because
it directly implements one of these interfaces or because it derives
from a superclass that does
 2. All non-final, non-transient instance fields are themselves
serializable, and
 3. Prior to GWT 1.5, it must have a public default (zero argument)
constructor or no constructor at all.
 4. As of GWT 1.5, it must have a default (zero argument) constructor
(with any access modifier) or no constructor at all.

On Jul 21, 1:56 pm, Juraj Vitko <[email protected]> wrote:
> Yeah I've left that out in the example, it of course is marked with
> IsSerializable.
>
> However! - I've found a solution (just needed to recall that I've had
> similar problem with Interfaces+Classes already):
>
> A Class (or Enum) type extending the said "non-serializable" interface
> (MyIface in the above example) needs to be defined in the same package
> as the interface. The compiler warning is then not produced.
>
> I've scanned GWT-Issues (and GWT docs) for this, haven't exactly found
> it - should I fill this as an Issue?
>
> On Jul 21, 9:49 pm, Nuno <[email protected]> wrote:
>
>
>
> > Don't you also need to do:
>
> > class POJO extends Serializable ?
>
> > I got many alerts about this in my classes.
>
> > On Tue, Jul 21, 2009 at 3:51 PM, Juraj Vitko <[email protected]> wrote:
>
> > > I'm trying to RPC-send an interface member in a POJO - all types
> > > implementing this interface are Enums (see the example below please).
>
> > > Now, the application works 100% in both hosted and web modes, but the
> > > Java to JavaScript compiler complains about the POJO object, that the
> > > MyIFace is not RPC-serializable. ("was not serializable and has no
> > > concrete serializable subtypes")
>
> > > Any ideas how to get rid of that compiler warning? I'm using GWT 1.6
> > > for the time being.
>
> > > class POJO {  //this object is sent via the RPC
> > >  MyIface iface;
> > > }
>
> > > interface MyIface extends IsSerializable {
> > >  MyIface[] getVals(String param);
> > > }
>
> > > enum MyEnum implements MyIface {
> > >   one("1"),
> > >   two("2");
>
> > >   private MyEnum(String s) { this.s = s; }
> > >   private MyEnum() { }
>
> > >   private String s;
>
> > >   MyIface[] getVals(String param) {
> > >      return MyEnum.values();
> > >   }
> > > }
>
> > --
> > Quer aprender a programar? acompanhe:
> > Wants to learn GWT? Follow this blog ->
>
> >http://tcninja.blogspot.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to