SAX パーサーから JAXB に変換しています - 複数のタグ/属性値を単一の (compassable) Java POJO に非整列化する方法がわかりません。
次のようなxmlファイルがあります。
<item validFrom="1950" validUntil="1980">
<description>some text</description>
</item>
「validFrom」と「validUntil」の値は、有効な「MutableRange」POJO に構成する必要があります (以下の定義を参照)。
アンマーシャリングする必要がある Java アイテムの定義は次のとおりです。
@XmlRootElement
@XmlAccessorType(XmlAcccessType.FIELD)
public class Item {
// ??? need help mapping this to be composed from "validFrom", "validUntil" attributes
private MutableRange validRange;
@XmlElement
private String description;
}
// assume all other boilerplate code exists
public class MutableRange {
private int lowerBound;
private int upperBound;
}
アダプターを使用してみましたが、「from」と「until」の両方の値を一緒にキャプチャして MutableRange インスタンスを作成することはできませんでした。使用@XmlMixed
してみましたが、成功しませんでした。
これを達成するためのJAXB規定の方法は何ですか?
これが解決されたらMutableRange
、 ( XmlAdapter
) を拡張してラッパーとして機能し、グアバの不変の Range オブジェクトを作成し、それをにマッピングしvalidRange
ます@XmlJavaTypeAdapter(MutableRange.class)