1

を使用しCustomFieldSerializer て、オブジェクトのカスタムのシリアル化と逆シリアル化を定義します。

クラスのカスタムシリアライゼーションを定義するのは一見簡単Xxxです:

  • Xxx_CustomFieldSerializerを拡張するという名前のクラスを作成しCustomFieldSerializer<Xxx>
  • 抽象メソッドserializeInstancedeserializeInstance、およびオプションで を実装しますinstantiateInstance

これにより、膨大な数のコンパイル エラーが生成され、次のようになります。

subtype Custom Field Serializer 'Xxx_CustomFieldSerializer' does not define a deserialize method: 'public static void deserialize(SerializationStreamReader reader,Xxx instance)' (reached via Xxx)'

実装されたメソッドが行うことを正確に行う静的メソッドを作成する必要があります。明らかに、一方が他方に委譲しますが、これは、同様のタイプのボイラープレートをすべて抽出することはできないことを意味しますXxx

なんで?これは古いバージョンの GWT か何かから残ったものですか? 余分なものをすべて書かなくても済むようにする方法はありますか?

4

1 に答える 1

2

これを見つけてくれたThomasBroyerに感謝します。これはGWTの制限にすぎません。

見る:com.google.gwt.user.rebind.rpc.CustomFieldSerializerValidator

参照:http ://code.google.com/p/google-web-toolkit/issues/detail?id = 7331&thanks = 7331&ts = 1335182609

于 2012-04-23T12:03:42.797 に答える