|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Retention(value=RUNTIME) @Target(value={FIELD,TYPE}) public @interface Since
An annotation that indicates the version number since a member or a type has been present. 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; @Since(1.0) private String emailAddress; @Since(1.0) private String password; @Since(1.1) private Address address; }
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.0).create()
the the
toJson()
and fromJson()
methods of Gson will exclude the address
field
since it's version number is set to 1.1
.
Required Element Summary | |
---|---|
double |
value
the value indicating a version number since this member or type has been present. |
Element Detail |
---|
public abstract double value
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |