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