第58章 JAXB


JAXB は、Java 6 に含まれている JAXB2 XML マーシャリング標準を使用して、XML ペイロードを Java オブジェクトにアンマーシャリングするか、Java オブジェクトを XML ペイロードにマーシャリングするデータ形式です。

58.1. オプション

JAXB データ形式は、以下にリストされているオプションを 19 個サポートしています。

名前デフォルトJava タイプ説明

contextPath

 

String

必須 JAXB クラスが配置されているパッケージ名。

contextPathIsClassName

 

ブール値

これを true に設定すると、contextPath がパッケージ名ではなくクラス名を参照していることを示すことができます。

schema

 

String

既存のスキーマに対して検証します。接頭辞 classpath:、file:、または http: を使用して、リソースの解決方法を指定できます。「,」文字を使用して、複数のスキーマファイルを区切ることができます。

schemaSeverityLevel

 

Enum

スキーマに対して検証するときに使用するスキーマの重大度レベルを設定します。このレベルは、重大度が最小のエラーを判断し、JAXB をトリガーして解析の続行を停止します。デフォルト値の 0 (警告) は、エラー (警告、エラー、または致命的なエラー) によって JAXB が停止することを意味します。0=警告、1=エラー、2=致命的なエラーという 3 つのレベルがあります。

列挙値:

  • 0
  • 1
  • 2

prettyPrint

 

ブール値

適切にフォーマットされたきれいな印刷出力を有効にします。デフォルトでは false です。

objectFactory

 

ブール値

マーシャリング中に ObjectFactory クラスを使用して POJO クラスを作成できるようにするかどうか。これは、JAXB でアノテーションが付けられておらず、jaxb.index 記述子ファイルを提供していない POJO クラスにのみ適用されます。

ignoreJAXBElement

 

ブール値

JAXBElement 要素を無視するかどうか。非常に特殊なユースケースでのみ false に設定する必要があります。

mustBeJAXBElement

 

ブール値

マーシャリングが JAXB アノテーション付きの Java オブジェクトでなければならないかどうか。そうでない場合は失敗します。このオプションを false に設定すると、データがすでに XML 形式になっている場合など、設定が緩和されます。

filterNonXmlChars

 

ブール値

xml 以外の文字を無視し、空白に置き換えます。

encoding

 

String

特定のエンコーディングを無効にして使用します。

fragment

 

ブール値

XML フラグメントツリーのマーシャリングをオンにします。デフォルトでは、JAXB は指定されたクラスの XmlRootElement アノテーションを探して、XML ツリー全体を操作します。これは便利ですが、常に有用であるわけではありません。たとえば、生成されたコードに XmlRootElement アノテーションがない場合や、ツリーの一部だけを非整列化する必要がある場合などが挙げられます。その場合、部分的なアンマーシャリングを使用できます。この動作を有効にするには、プロパティー partClass を設定する必要があります。Camel は、このクラスを JAXB のアンマーシャラーに渡します。

partClass

 

String

フラグメント解析に使用されるクラスの名前。詳細については、フラグメントオプションを参照してください。

partNamespace

 

String

フラグメントの解析に使用する XML 名前空間。詳細については、フラグメントオプションを参照してください。

namespacePrefixRef

 

String

JAXB または SOAP を使用してマーシャリングする場合、JAXB 実装は、ns2、ns3、ns4 などの名前空間接頭辞を自動的に割り当てます。このマッピングを制御するために、Camel では目的のマッピングを含むマップを参照できます。

xmlStreamWriterWrapper

 

String

カスタム xml ストリームライターを使用します。

schemaLocation

 

String

スキーマの場所を定義します。

noNamespaceSchemaLocation

 

String

名前空間のないスキーマの場所を定義します。

jaxbProviderProperties

 

String

カスタム java.util.Map を参照して、JAXB マーシャラーで使用されるカスタム JAXB プロバイダープロパティーを含むレジストリーを検索します。

contentTypeHeader

 

ブール値

データ形式が Content-Type ヘッダーにデータ形式のタイプを設定する必要があるかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は application/json です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.