85.3. Dozer でのデータフォーマットの使用
Dozer は、マッピング用の Java 以外のソースおよびターゲットをサポートしないため、XML ドキュメントを独自の Java オブジェクトにマッピングすることはできません。 Camel は主に、データ形式を使用して Java とさまざまな種類の形式のマーシャリングを幅広くサポートします。 Dozer コンポーネントは、Dzer で処理する前に入力データおよび出力データをデータ形式で渡すように指定することで、このサポートを活用します。 Dozer への呼び出し外でこれを常に行うことができますが、Dozer コンポーネントで直接サポートすることで、1 つのエンドポイントを使用して Camel 内の任意の変換を設定できます。
たとえば、Dzer コンポーネントを使用して XML データ構造と JSON データ構造をマッピングしたいとします。 Camel Context に以下のデータ形式が定義されている場合:
<dataFormats> <json library="Jackson" id="myjson"/> <jaxb contextPath="org.example" id="myjaxb"/> </dataFormats>
その後、JAXB データフォーマットを使用して入力 XML をアンマーシャリングし、Jackson を使用してマッピング出力をマーシャリングするように Dozer エンドポイントを設定できます。
<endpoint uri="dozer:xml2json?marshalId=myjson&unmarshalId=myjaxb&targetModel=org.example.Order"/>