2012-01-13 1 views
0

GWT上で、その基底クラスにキャストされるサブクラスを含むオブジェクトを直列化する際に問題があります。次のように私のクラス階層は次のとおりです。GWTを介して基底クラスにキャストされたサブクラスをシリアル化できません

public class BaseManagedObject implements IsSerializable 
{ 
    public Shortcut getShortcut() 
    { 
     return new Shortcut(); 
    } 
} 

public class User extends BaseManagedObject implements IsSerializable 
{ 
    public Shortcut getShortcut() 
    { 
     return new DomainMemberShortcut(); 
    } 
} 

public class Shortcut implements IsSerializeable {} 

public class DomainMemberShortcut extends Shortcut implements IsSerializable {} 

私はユーザーオブジェクトをシリアル化するとき、私は「応答が直列化復元することができませんでした」を得ます。 getShortcut()でショートカットを返すようにUserを変更しても、問題はありません。私はDomainMemberShortcutを参照するコードを追加しました。それを使ってビルドできることを確認するだけで、うまく動作します。

提案がありますか? ありがとう、

+0

私はサブクラスでデフォルトのコンストラクタを使いませんでした。 GWTには引数なしのコンストラクタが必要です。これは基本クラスのShortcutに既に追加されています。 – PeterD

+0

解決策を見つけたら、答えを書いてそれを受け入れる必要があります。本当に。 –

答えて

0

解決策を見つけました - 私はDomainMemberサブクラスにデフォルトの引数なしコンストラクタがありませんでした。

関連する問題