@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.
|
Copyright © 2018. All Rights Reserved.