第158章 JAXB DataFormat
Camel バージョン 1.0 で利用可能
JAXB は Data Format で、Java 6 に含まれる JAXB2 XML マーシャリング標準を使用して XML ペイロードを Java オブジェクトにアンマーシャリングしたり、Java オブジェクトを XML ペイロードにマーシャリングしたりします。
158.1. オプション
JAXB データフォーマットは、以下に示す 18 個のオプションをサポートします。
Name | デフォルト | Java タイプ | 説明 |
---|---|---|---|
contextPath |
| JAXB クラスが置かれているパッケージ名。 | |
schema |
| 既存のスキーマに対して検証する。接頭辞 classpath:、file:、または http: を使用して、リソースの解決方法を指定できます。',' 文字を使用して、複数のスキーマファイルを分離できます。 | |
schemaSeverityLevel |
|
| スキーマに対して検証する際に使用するスキーマの重大度レベルを設定します。このレベルは、JAXB が解析を継続しないようにトリガーする最低重大度エラーを決定します。デフォルト値の 0(warning)は、エラー(warning、error、または fatal error)が JAXB をトリガーして停止することを意味します。0=warning、1=error、2=fatal エラーの 3 つのレベルがあります。 |
prettyPrint |
|
| プリションでフォーマットされた出力を有効にします。デフォルトは false です。 |
objectFactory |
|
| マーシャリング中に ObjectFactory クラスを使用して POJO クラスを作成できるようにするかどうか。これは、JAXB アノテーションが付けられた POJO クラスと jaxb.index 記述子ファイルの提供のみに適用されます。 |
ignoreJAXBElement |
|
| JAXBElement 要素を無視するかどうか。非常に特殊なユースケースで false のみに設定する必要があります。 |
mustBeJAXBElement |
|
| marhsalling が JAXB アノテーションを持つ java オブジェクトである必要があるかどうか。そうでない場合は、失敗します。このオプションは false に設定すると、データがすでに XML 形式の場合などに緩和されます。 |
filterNonXmlChars |
|
| xml 以外の文字を無視し、空白のスペースに置き換えるには、以下を行います。 |
encoding |
| 特定のエンコーディングを過剰に実行し、特定のエンコーディングを使用します。 | |
fragment |
|
| マーシャリング XML フラグメントツリーをオンにします。デフォルトでは JAXB は指定されたクラスで XmlRootElement アノテーションを検索して、XML ツリー全体で動作します。これは必ずしも便利ですが、生成されたコードに XmlRootElement アノテーションがない場合があり、時にはツリーの一部のみをアンマーシャリングする必要がある場合があります。この場合、部分的なアンマーシャリングを使用できます。この動作を有効にするには、プロパティー partClass を設定する必要があります。Camel はこのクラスを JAXB のアンマーシャリングに渡します。 |
partClass |
| フラグメント解析に使用されるクラスの名前。詳細は、「 fragment オプション」を参照してください。 | |
partNamespace |
| フラグメントの解析に使用する XML 名前空間。詳細は、「 fragment オプション」を参照してください。 | |
namespacePrefixRef |
| JAXB または SOAP を使用してマーシャリングする場合、JAXB 実装は ns2、ns3、ns4 などの名前空間接頭辞を自動的に割り当てます。このマッピングを制御するために、Camel では必要なマッピングが含まれるマップを参照できます。 | |
xmlStreamWriterWrapper |
| カスタム xml ストリームライターを使用するには、以下を行います。 | |
schemaLocation |
| スキーマの場所を定義します。 | |
noNamespaceSchemaLocation |
| namespaceless スキーマの場所を定義します。 | |
jaxbProviderProperties |
| カスタム java.util.Map を参照し、JAXB マーシャラーと使用するカスタム JAXB プロバイダープロパティーが含まれるレジストリーでルックアップします。 | |
contentTypeHeader |
|
| データフォーマットがデータ形式を実行できる場合に、データ形式がデータ形式の型で Content-Type ヘッダーを設定するかどうか。たとえば、XML へのデータフォーマットの application/xml、または JSon へのデータフォーマットの application/json など。 |