Package groovy.transform
Annotation Type ExternalizeVerifier
@Documented @Retention(SOURCE) @Target(TYPE) public @interface ExternalizeVerifier
Class annotation used to assist in the creation of
Externalizable
classes.
The @ExternalizeVerifier
annotation instructs the compiler to check
that a class has writeExternal()
and readExternal()
methods,
implements the Externalizable
interface and that each property (and optionally field) is not final
and, optionally for non-primitives, has a type which is either Externalizable
or Serializable
.
Properties or fields marked as transient
are ignored.
This annotation is typically used in conjunction with the @ExternalizeMethods
annotation but
most usually not directly but rather via @AutoExternalizable
which is a shortcut for both annotations.-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
checkPropertyTypes
Turns on strict type checking for property (or field) types.String[]
excludes
Comma separated list of property names to exclude from externalization verification.boolean
includeFields
Include fields as well as properties when verifying externalization properties.
-
Element Details
-
excludes
String[] excludesComma separated list of property names to exclude from externalization verification. For convenience, a String with comma separated names can be used in addition to an array (using Groovy's literal list notation) of String values.- Default:
- {}
-
includeFields
boolean includeFieldsInclude fields as well as properties when verifying externalization properties.- Default:
- false
-
checkPropertyTypes
boolean checkPropertyTypesTurns on strict type checking for property (or field) types. In strict mode, such types must also implement Serializable or Externalizable. If your properties have interface types that don't implement Serializable but all the concrete implementations do, or the type is of a non-Serializable class but the property will be null at runtime, then your instances will still be serializable but you can't turn on strict checking.- Default:
- false
-