|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||
@Retention(value=RUNTIME)
@Target(value={FIELD,TYPE})
public @interface SinceAn 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() then 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 | |||||||||