Top Description Methods
groovy.transform

public @Interface ExternalizeMethods

extends Annotation
Annotations
@Documented
@Retention:RUNTIME
@Target:TYPE
@GroovyASTTransformationClass:ExternalizeMethodsASTTransformation
Imports
org.codehaus.groovy.transform.GroovyASTTransformationClass, java.lang.annotation.ElementType, .Retention, .RetentionPolicy, .Target

Class annotation used to assist in the creation of Externalizable classes. The @ExternalizeMethods annotation instructs the compiler to execute an AST transformation which adds writeExternal() and readExternal() methods to a class and adds Externalizable to the interfaces which the class implements. The writeExternal() method writes each property (and optionally field) of the class while the readExternal() method will read each one back in the same order. Properties or fields marked as transient are ignored. This annotation is typically used in conjunction with the @ExternalizeVerifier annotation but most usually not directly but rather via @AutoExternalizable which is a shortcut for both annotations.

Example usage:

import groovy.transform.*
@ExternalizeMethods
class Person {
  String first, last
  List favItems
  Date since
}
Which will create a class of the following form:
class Person implements Externalizable {
  ...
  public void writeExternal(ObjectOutput out) throws IOException {
    out.writeObject(first)
    out.writeObject(last)
    out.writeObject(favItems)
    out.writeObject(since)
  }

  public void readExternal(ObjectInput oin) {
    first = (String) oin.readObject()
    last = (String) oin.readObject()
    favItems = (List) oin.readObject()
    since = (Date) oin.readObject()
  }
  ...
}
Since
1.8.0

Method Summary

Modifier and TypeMethod and Description
public String[]
excludes()

Comma separated list of property names to exclude from externalizing.

public boolean
includeFields()

Include fields as well as properties when externalizing.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

excludesback to summary
public String[] excludes()

Comma separated list of property names to exclude from externalizing. 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.

includeFieldsback to summary
public boolean includeFields()

Include fields as well as properties when externalizing.