1

我需要从设计上不可变的客户端返回对象(仅包含公共最终字段)。在 GWT 中,看起来这是不可能的?

我创建了 ImageMetadata_CustomFieldSerializer 的继任者并覆盖了方法:

- instantiateInstance
- serialize

但我的最终对象仍未初始化(调用了默认构造函数)

4

1 回答 1

0

通常,CustomFieldSerializer 必须包含特殊的静态方法才能正常工作。

然后需要添加特殊的静态方法:

public static void deserialize(SerializationStreamReader streamReader, MyObject instance) throws SerializationException {
    //...
}

public static void serialize(SerializationStreamWriter streamWriter, MyObject instance) throws SerializationException {
   //...
}

public static MyObject instantiate(SerializationStreamReader streamReader) throws SerializationException {
   //...
}

这些方法包含从 SerializationStream 序列化/反序列化 MyObject 的代码。

在被覆盖的方法中,可以重用静态方法。

希望有帮助。

于 2012-07-04T11:15:52.433 回答