Я надеюсь, что кто-то может предложить простое решение моей проблемы.
У меня есть POJO, скажите:
public class Person
{
private String name;
public String getName(){ return name; }
public void setName(String name){ this.name = name; }
}
Я хотел бы использовать функциональность GWT AutoBean для сериализации/десериализации этого bean в JSON, но AutoBean ожидает интерфейс:
public interface Person
{
public String getName();
public void setName(String name);
}
У меня есть настройка AutoBeanFactory:
public interface PersonFactory extends AutoBeanFactory
{
AutoBean<Person> person();
}
Используя интерфейс factory и Person, я могу десериализовать JSON Person:
PersonFactory personFactory = GWT.create(PersonFactory.class);
AutoBean<Person> autoBeanPerson = AutoBeanCodex.decode(personFactory, Person.class, jsonObject.toString());
Person person = autoBeanPerson.as();
Однако, если я заменю интерфейс Person на класс Person, я получаю исключение AutoBeanFactoryGenerator, которое гласит: "com.xxx.xxx.Person не является интерфейсом".
Как я могу использовать сериализацию/десериализацию AutoBean с помощью моего простого POJO?