В моем java-приложении (в частности, в Android-приложении) я выполняю вызов REST (GET).Ответ может быть либо XML, либо JSON.Я использую шаблон стратегии, который решает, какой синтаксический анализатор использовать на основе типа содержимого ответа.
Если ответ является XML, я использую простую библиотеку для анализа ответа в моих POJO, а если ответ - JSONЯ использую библиотеку Gson.
Теперь мой вопрос: есть ли польза от наличия одного POJO, который содержит аннотации Simple и Gson?Или лучше разделить 2 POJO и затем иметь адаптер (или, может быть, Wrapper) для «преобразования» в общий POJO?Другими словами, каковы плюсы и минусы следующих подходов?
Подход 1:
class PojoCommon {
@SimpleXmlAnnotations
@GsonAnnotations
private int age;
@SimpleXmlAnnotations
@GsonAnnotations
private String name;
//Constructors, Getters and Setters ...
}
Подход 2:
class Pojo{
private int age;
private String name;
}
class PojoXml{
@SimpleXmlAnnotations
private int age;
@SimpleXmlAnnotations
private String name;
public Pojo toGenericPojo(){
return new Pojo(this.age, this.name);
}
}
class PojoJson{
@GsonAnnotations
private int age;
@GsonAnnotations
private String name;
public Pojo toGenericPojo(){
return new Pojo(this.age, this.name);
}
}