Since (Gson 2.3 API)
Date: 2014-08-11

com.google.gson.annotations

## Annotation Type Since

-     @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()` then the `toJson()` and `fromJson()` methods of Gson will exclude the `address` field since it's version number is set to `1.1`.

  Author:
    Inderjeet Singh, Joel Leitch

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `double` | `value` the value indicating a version number since this member or type has been present.

- - ### Element Detail

    - #### value

          public abstract double value

      the value indicating a version number since this member or type has been present.

Copyright © 2008–2014 Google, Inc.. All rights reserved.