Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to use @Until annotation using the Gson library in Java?
The @Until annotation can use with the setVersion() method of the GsonBuilder class. This annotation can apply to a field in java class and accepts float as an argument. This argument represents the version number in which the field has serialized. The @Until annotation can manage the versioning of JSON classes in web-services.
Syntax
@Documented
@Retention(value=RUNTIME)
@Target(value={FIELD,TYPE})
public @interface Until
Example
import com.google.gson.annotations.Until;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonUntilAnnotationTest {
public static void main(String[] args) {
Employee emp = new Employee();
emp.setEmployeeName("Adithya");
emp.setEmployeeId(115);
emp.setEmployeeTechnology("Python");
emp.setEmploeeAddress("Pune");
System.out.println("Using version 0.5");
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.setPrettyPrinting().setVersion(0.5).create();
String jsonString = gson.toJson(emp);
System.out.println(jsonString);
System.out.println("Using version 1.0");
gsonBuilder = new GsonBuilder();
gson = gsonBuilder.setPrettyPrinting().setVersion(1.0).create();
jsonString = gson.toJson(emp);
System.out.println(jsonString);
System.out.println("Using version 1.1");
gsonBuilder = new GsonBuilder();
gson = gsonBuilder.setPrettyPrinting().setVersion(1.1).create();
jsonString = gson.toJson(emp);
System.out.println(jsonString);
}
}
// Employee class
class Employee {
private String empName;
private int empId;
@Until(1.1)
private String empTech;
@Until(1.1)
private String empAddress;
public String getEmployeeName() {
return empName;
}
public void setEmployeeName(String empName) {
this.empName = empName;
}
public int getEmployeeId() {
return empId;
}
public void setEmployeeId(int empId) {
this.empId = empId;
}
public String getEmployeeTechnology() {
return empTech;
}
public void setEmployeeTechnology(String empTech) {
this.empTech = empTech;
}
public String getEmploeeAddress() {
return empAddress;
}
public void setEmploeeAddress(String empAddress) {
this.empAddress = empAddress;
}
}
Output
Using version 0.5
{
"empName": "Adithya",
"empId": 115,
"empTech": "Python",
"empAddress": "Pune"
}
Using version 1.0
{
"empName": "Adithya",
"empId": 115,
"empTech": "Python",
"empAddress": "Pune"
}
Using version 1.1
{
"empName": "Adithya",
"empId": 115
}Advertisements