0

クラスオブジェクトのリストをマーシャリングおよびアンマーシャリングしたいと言いjava.util.List<MyObject>ます。Castor を使用する予定です。Castor-0.9.5.*.jarバージョンを使用する必要があります。

さらに、Marshaled object( MyObject) の XML スキーマがあります。MyObjectclass にはデフォルトのコンストラクターがなく、すべてのフィールドを設定するパラメーター化されたコンストラクターのみがあります。MyObjectまた、クラス内のどのフィールドにもセッター メソッドはありません。MyObjectクラスをまったく変更できません。

MyObjectクラスのスニペットは次のとおりです。

public class MyObject
{
    private final SomeEnumType type;
    private final CutomObject custObjs[];
    private final int index;
    private final String[] strs;
    private final int rows[];

    // NOTE: This class also has getter methods for all the fields.
    // NOTE: There are NO setters methods and all fields are final

    public MyObject(SomeEnumType type, CutomObject custObjs[], 
                    int index, String strs[], int rows[])
    {
        this.type = type;
        this.custObjs = custObjs;
        this.index = index;
        this.strs = strs;
        this.rows = rows;
    }

}

私の質問は次のとおりです。

  1. このシナリオでは Castor が適切な選択ですか? そうでない場合、より良い選択は何ですか?
  2. 私の場合、Castor マッピングを作成する方法。これにO2XMapperを使用してみましたが、MyObjectクラスにデフォルトのコンストラクターがないため機能しませんか?
  3. の XML スキーマを使用してMyObjectCastor マッピングを生成する方法はありますか。
  4. org.exolab.castor.xml.XMLContextCastor jar にとクラスが見つかりませんでしたorg.castor.xml.BackwardCompatibilityContext。これらは Castor jar の一部ではありませんか?
4

1 に答える 1