@Documented @Retention(value=RUNTIME) @Target(value={FIELD,TYPE}) public @interface Until
Until annotation then the field will
be ignored from the JSON output. This annotation is useful to manage
versioning of your JSON classes for a web-service.
This annotation has no effect unless you build
Gson with a
GsonBuilder and invoke
GsonBuilder.setVersion(double) method.
Here is an example of how this annotation is meant to be used:
public class User {
private String firstName;
private String lastName;
@Until(1.1) private String emailAddress;
@Until(1.1) private String password;
}
If you created Gson with new Gson(), the toJson() and
fromJson() methods will use all the fields for serialization and
deserialization. However, if you created Gson with
Gson gson = new GsonBuilder().setVersion(1.2).create() then the
toJson() and fromJson() methods of Gson will exclude the
emailAddress and password fields from the example above,
because the version number passed to the GsonBuilder, 1.2, exceeds
the version number set on the Until annotation, 1.1, for
those fields.
| Modifier and Type | Required Element and Description |
|---|---|
double |
value
the value indicating a version number until this member or type should be
ignored.
|