Я использовал AutoBeans для сопоставления данных JSON, поступающих из веб-службы, не основанной на GWT-RPC Java. Пока все работает, кроме одного маппинга.
На стороне сервера класс имеет свойство типа Map, где MyAbstractParentObject является родительским классом примерно для 15 различных дочерних классов.
Когда я сопоставляю это с соответствующим интерфейсом AutoBean на клиенте, я не могу преобразовать MyAbstractParentObject в его дочерний тип после его декодирования. Я просмотрел всю документацию GWT и «Гуглы», чтобы узнать, есть ли у AutoBeans даже полиморфная поддержка, но в любом случае не смог получить ответа. Перехватчики и категории, похоже, не могут справиться с этим, это просто методы, которые они хотят использовать в интерфейсе, которые не являются геттерами / сеттерами.
Я пытался найти обходной путь, используя поле типа в данных JSON для создания экземпляра дочернего класса, но AutoBean не дает мне доступа к необработанному JSON, хотя в отладчике я вижу его как защищенное поле под названием «данные». Если я попытаюсь декодировать исходный компонент, у него будут только поля в MyAbstractParentObject.
Единственные альтернативы, которые я вижу:
Любая помощь будет принята с благодарностью.