Я надеюсь, что кто-то может предложить простое решение моей проблемы.
У меня есть POJO, скажем:
public class Person
{
private String name;
public String getName(){ return name; }
public void setName(String name){ this.name = name; }
}
Я бы хотел использовать функциональность GWT AutoBean для сериализации/ Десериализовать этот компонент в JSON, но AutoBean ожидает интерфейс:
public interface Person
{
public String getName();
public void setName(String name);
}
У меня есть настройка AutoBeanFactory:
public interface PersonFactory extends AutoBeanFactory
{
AutoBean<Person> person();
}
Используя фабрику и интерфейс Person, я могу десериализоватьa 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?