|
Groovy 2.2.0 | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
java.lang.Object groovy.transform.AutoExternalize
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) @GroovyASTTransformationClass("org.codehaus.groovy.transform.AutoExternalizeASTTransformation") public @interface AutoExternalize
Class annotation used to assist in the creation of Externalizable
classes.
The @AutoExternalize
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 (or field) for the class while the
readExternal()
method will read each one back in the same order. Properties or fields
marked as transient
are ignored.
Example usage:
import groovy.transform.*
@AutoExternalize
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 = oin.readObject() last = oin.readObject() favItems = oin.readObject() since = oin.readObject() } ... }
Optional Element Summary | |
---|---|
java.lang.String |
excludes
Comma separated list of property names to exclude from externalizing. |
boolean |
includeFields
Include fields as well as properties when externalizing. |
Method Summary |
---|
Methods inherited from class Object | |
---|---|
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Element Detail |
---|
public String[] excludes
public boolean includeFields
Copyright © 2003-2013 The Codehaus. All rights reserved.