設計上不変である(パブリックfinalフィールドのみを含む)オブジェクトをクライアントから返す必要があります。GWTでは、これは不可能のように見えますか?
ImageMetadata_CustomFieldSerializerの後継メソッドを作成し、メソッドをオーバーライドしました。
- instantiateInstance
- serialize
しかし、それでも私の最終オブジェクトは初期化されていません(デフォルトのコンストラクターが呼び出されます)
設計上不変である(パブリックfinalフィールドのみを含む)オブジェクトをクライアントから返す必要があります。GWTでは、これは不可能のように見えますか?
ImageMetadata_CustomFieldSerializerの後継メソッドを作成し、メソッドをオーバーライドしました。
- instantiateInstance
- serialize
しかし、それでも私の最終オブジェクトは初期化されていません(デフォルトのコンストラクターが呼び出されます)
一般に、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をシリアル化/逆シリアル化するためのコードが含まれています。
オーバーライドされたメソッドでは、静的なメソッドを再利用できます。
お役に立てば幸いです。