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.

    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      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.
    • Element Detail

      • 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:
        Documentation about GWT emulated source
        Default:
        false