Маршалинг и демаршалинг с использованием Castor

Я хочу, чтобы маршал и демаршал список объектов моего класса говорят java.util.List<MyObject>, Я планирую использовать для этого Castor, мне придется использовать версию Castor-0.9.5.*. Jar.

Кроме того, у меня есть XML-схема для моего объекта Marshaled (MyObject). MyObject Класс не имеет конструктора по умолчанию, он имеет только параметризованный конструктор, который устанавливает все поля. И нет никаких методов установки для любого поля в 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. Является ли Кастор правильным выбором для этого сценария? Если нет, то какие варианты лучше?
  2. Как создать карту Кастора в моем случае. Я пытался использовать O2XMapper для этого, но он не работает как MyObject класс не имеет конструктора по умолчанию?
  3. Есть ли способ использовать XML-схему MyObject генерировать отображение Кастора.
  4. Я не мог найти org.exolab.castor.xml.XMLContext а также org.castor.xml.BackwardCompatibilityContext классы в банке касторового, они не являются частью банку касторового?

1 ответ

Я предпочитаю использовать jaxB, так как он легкий и маршаллинг, а маршаллинг не займет много памяти.

Другие вопросы по тегам