## com.google.common.annotations
Annotation Type GwtCompatible

    @Retention(value=CLASS)
    @Target(value={TYPE,METHOD})
    @Documented
    @GwtCompatible
    public @interface GwtCompatible

The presence of this annotation on a type indicates that the type may be used with the Google Web Toolkit (GWT). When applied to a method, the return type of the method is GWT compatible. It's useful to indicate that an instance created by factory methods has a GWT serializable type. In the following example,

     @GwtCompatible
     class Lists {
       ...
       @GwtCompatible(serializable = true)
       static <E> List<E> newArrayList(E... elements) {
         ...
       }
     }

The return value of `Lists.newArrayList(E[])` has GWT serializable type. It is also useful in specifying contracts of interface methods. In the following example,

     @GwtCompatible
     interface ListFactory {
       ...
       @GwtCompatible(serializable = true)
       <E> List<E> newArrayList(E... elements);
     }

The `newArrayList(E[])` method of all implementations of `ListFactory` is expected to return a value with a GWT serializable type.

Note that a `GwtCompatible` type may have some `GwtIncompatible` methods.

Author:
  Charles Fry, Hayward Chan

Optional Element Summary
`boolean` `emulated` When `true`, the annotated type is emulated in GWT.
`boolean` `serializable` When `true`, the annotated type or the type of the method return value is GWT serializable.

### serializable

    public abstract boolean serializable

  When `true`, the annotated type or the type of the method return value is GWT serializable.

  See Also:
    Documentation about GWT serialization
  Default:
    false

### emulated

    public abstract boolean emulated

  When `true`, the annotated type is emulated in GWT. The emulated source (also known as super-source) is different from the implementation used by the JVM.

  See Also:
    Documentation about GWT emulated source
  Default:
    false

Copyright © 2010-2012. All Rights Reserved.