@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.
Modifier and Type | Optional Element and 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. |
public abstract boolean serializable
When true
, the annotated type or the type of the method return value is GWT serializable.
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.