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 booleanemulatedWhentrue, the annotated type is emulated in GWT.booleanserializableWhentrue, the annotated type or the type of the method return value is GWT serializable.
-
Element Details
-
serializable
boolean serializableWhentrue, the annotated type or the type of the method return value is GWT serializable.- See Also:
- Documentation about GWT serialization
- Default:
- false
-
emulated
boolean emulatedWhentrue, 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
-