Annotation Type GwtCompatible


@Retention(CLASS) @Target({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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    When true, the annotated type is emulated in GWT.
    boolean
    When true, the annotated type or the type of the method return value is GWT serializable.
  • Element Details

    • serializable

      boolean serializable
      When true, the annotated type or the type of the method return value is GWT serializable.
      See Also:
      Default:
      false
    • emulated

      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:
      Default:
      false