@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.