0

我在 RequestFactory 之外使用 AutoBeanFactory 将对象转换为 JSON 和从 JSON 转换对象。它工作得非常好,但我刚刚添加了一种 Object 类型,它使用 NullPointerException 使 codex 崩溃,我不知道为什么。

我正在使用 GWT 2.2.0。

对象类:

public interface Policy
{
    public List<List<MyEnum>> getListsOfEnums();
    public void setListsOfEnums(List<List<MyEnum>> listOfLists);
}

工厂类:

public interface MyAutoBeanFactory extends AutoBeanFactory
{
    public AutoBean<Policy> policy();
}

当我打电话时AutoBeanCodex.encode(anInstanceOfAnImplementationOfPolicy),我得到一个 NullPointerException:

Caused by: java.lang.NullPointerException
    at com.google.gwt.autobean.shared.AutoBeanCodex$Encoder.encodeToStringBuilder(AutoBeanCodex.java:407)
    at com.google.gwt.autobean.shared.AutoBeanCodex$Encoder.visitCollectionProperty(AutoBeanCodex.java:310)
    at com.activegrade.shared.data.overallgradingpolicy.OverallGradingPolicyAutoBean.traverseProperties(OverallGradingPolicyAutoBean.java:264)
    at com.google.gwt.autobean.shared.impl.AbstractAutoBean.traverse(AbstractAutoBean.java:153)
    at com.google.gwt.autobean.shared.impl.AbstractAutoBean.accept(AbstractAutoBean.java:112)
    at com.google.gwt.autobean.shared.AutoBeanCodex.encodeForJsoPayload(AutoBeanCodex.java:546)
    at com.google.gwt.autobean.shared.AutoBeanCodex.encode(AutoBeanCodex.java:537)
... (my code)

似乎 AutoBeanCodex 应该再次调用 visitCollectionProperty,所​​以也许这是一个值得 Google 解决的错误。另一方面,也许我做错了什么,或者这是明确不支持的。

我希望有人对此有一些经验,或者 BobV 有一个建议:)

4

1 回答 1

1

在 GWT 2.2 分支之后,添加了对任意参数化集合的序列化支持。这应该在 2.3 版本分支或主干上工作。

于 2011-04-13T15:07:06.890 回答