クラス Jaxb2Marshaller
- 実装されているすべてのインターフェース:
Aware、BeanClassLoaderAware、InitializingBean、GenericMarshaller、GenericUnmarshaller、Marshaller、MimeMarshaller、MimeUnmarshaller、Unmarshaller
GenericMarshaller インターフェースの実装。典型的な使用箇所は、この Bean に "contextPath" または "classesToBeBound" プロパティを設定し、プロパティ、スキーマ、アダプター、リスナーを設定してマーシャラーとアンマーシャラーをカスタマイズし、それを参照することです。
- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Juergen Hoeller, Rossen Stoyanchev, Sam Brannen
- 関連事項:
setContextPath(java.lang.String)setClassesToBeBound(java.lang.Class<?>...)setJaxbContextProperties(java.util.Map<java.lang.String, ?>)setMarshallerProperties(java.util.Map<java.lang.String, ?>)setUnmarshallerProperties(java.util.Map<java.lang.String, ?>)setSchema(org.springframework.core.io.Resource)setSchemas(org.springframework.core.io.Resource...)setMarshallerListener(jakarta.xml.bind.Marshaller.Listener)setUnmarshallerListener(jakarta.xml.bind.Unmarshaller.Listener)setAdapters(jakarta.xml.bind.annotation.adapters.XmlAdapter<?, ?>...)
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidprotected XmlMappingException指定されたJAXBExceptionをorg.springframework.oxm階層からの適切な例外に変換します。新しく作成された JAXB マーシャラーを返します。新しく作成された JAXB アンマーシャラーを返します。ClassSE<?>[]新しく作成された JAXBContext によって認識される Java クラスのリストを返します。JAXB コンテキストパスを返します。このマーシャラーが使用する JAXBContext を返し、必要に応じて遅延ビルドします。StringSE[]JAXB2 アノテーションを検索するパッケージを返します。protected voidinitJaxbMarshaller(MarshallerEE marshaller) カスタム初期化動作のために具体的な JAXB マーシャラーによってオーバーライドできるテンプレートメソッド。protected voidinitJaxbUnmarshaller(UnmarshallerEE unmarshaller) カスタム初期化動作のために具体的な JAXB マーシャラーによってオーバーライドできるテンプレートメソッド。booleanXML 外部エンティティが許可されているかどうかを返します。booleanDTD 解析がサポートされているかどうかを返します。void指定されたルートを持つオブジェクトグラフを指定されたResultSE にマーシャリングします。voidmarshal(ObjectSE graph, ResultSE result, MimeContainer mimeContainer) 指定されたルートを持つオブジェクトグラフを指定されたResultSE にマーシャリングし、バイナリデータをMimeContainerに書き込みます。voidsetAdapters(XmlAdapterEE<?, ?>... adapters) JAXBMarshallerおよびUnmarshallerに登録するXmlAdapterを指定します。voidsetBeanClassLoader(ClassLoaderSE classLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetCheckForXmlRootElement(boolean checkForXmlRootElement) supports(Class)が@XmlRootElementEE アノテーションをチェックするかどうかを指定します。voidsetClassesToBeBound(ClassSE<?>... classesToBeBound) Java クラスのリストを、新しく作成された JAXBContext によって認識されるように設定します。voidsetContextPath(StringSE contextPath) JAXB コンテキストパスを設定します。voidsetContextPaths(StringSE... contextPaths) 複数の JAXB コンテキストパスを設定します。voidsetJaxbContextProperties(MapSE<StringSE, ?> jaxbContextProperties) JAXBContextプロパティを設定します。voidsetLazyInit(boolean lazyInit) このマーシャラーのJAXBContextEE を遅延初期化するかどうかを設定します。voidsetMappedClass(ClassSE<?> mappedClass) 部分的な非整列化のための JAXB マップクラスを指定します。voidsetMarshallerListener(Marshaller.ListenerEE marshallerListener) JAXBMarshallerに登録するMarshaller.Listenerを指定します。voidsetMarshallerProperties(MapSE<StringSE, ?> properties) JAXBMarshallerプロパティを設定します。voidsetMtomEnabled(boolean mtomEnabled) MTOM サポートを有効にするかどうかを指定します。voidsetPackagesToScan(StringSE... packagesToScan) クラスパスに JAXB2 アノテーションを含むクラスを検索するようにパッケージを設定します。voidsetProcessExternalEntities(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。void検証に使用するスキーマリソースを設定します。voidsetSchemaLanguage(StringSE schemaLanguage) スキーマ言語を設定します。voidsetSchemaResourceResolver(LSResourceResolverSE schemaResourceResolver) スキーマリソースのロードに使用されるリソースリゾルバーを設定します。voidsetSchemas(Resource... schemaResources) 検証に使用するスキーマリソースを設定します。voidsetSupportDtd(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。voidsetSupportJaxbElementClass(boolean supportJaxbElementClass) voidsetUnmarshallerListener(Unmarshaller.ListenerEE unmarshallerListener) Unmarshaller.Listenerが JAXBUnmarshallerに登録されるように設定します。voidsetUnmarshallerProperties(MapSE<StringSE, ?> properties) JAXBUnmarshallerプロパティを設定します。voidsetValidationEventHandler(ValidationEventHandlerEE validationEventHandler) JAXB 検証イベントハンドラーを設定します。booleanこのマーシャラーが、指定された型のインスタンスをマーシャリングできるかどうかを示します。booleanこのマーシャラーが、指定されたジェネリクス型のインスタンスをマーシャリングできるかどうかを示します。指定されたSourceSE をオブジェクトグラフに非整列化します。unmarshal(SourceSE source, MimeContainer mimeContainer) 指定されたSourceSE をオブジェクトグラフに非整列化し、MimeContainerからバイナリ添付ファイルを読み取ります。protected ObjectSEunmarshalStaxSource(UnmarshallerEE jaxbUnmarshaller, SourceSE staxSource)
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
Jaxb2Marshaller
public Jaxb2Marshaller()
メソッドの詳細
setContextPaths
複数の JAXB コンテキストパスを設定します。コンテキストパスの指定された配列は、JAXB でサポートされているように、コロン区切りの文字列に変換されます。setContextPath
JAXB コンテキストパスを設定します。このプロパティを設定するには、
"classesToBeBound"または"packagesToScan"が必要です。getContextPath
JAXB コンテキストパスを返します。setClassesToBeBound
Java クラスのリストを、新しく作成された JAXBContext によって認識されるように設定します。このプロパティを設定するには、
"contextPath"または"packagesToScan"が必要です。getClassesToBeBound
新しく作成された JAXBContext によって認識される Java クラスのリストを返します。setPackagesToScan
クラスパスに JAXB2 アノテーションが付いたクラスを検索するようにパッケージを設定します。これは Spring ベースの検索を使用しているため、Spring のコンポーネントスキャン機能(ClassPathBeanDefinitionScanner)に類似しています。このプロパティを設定するには、
"contextPath"または"classesToBeBound"が必要です。getPackagesToScan
JAXB2 アノテーションを検索するパッケージを返します。setJaxbContextProperties
JAXBContextプロパティを設定します。これらの実装固有のプロパティは、基になるJAXBContextに設定されます。setMarshallerProperties
JAXBMarshallerプロパティを設定します。これらのプロパティは、基礎となる JAXB
Marshallerで設定され、インデントなどの機能を可能にします。setUnmarshallerProperties
JAXBUnmarshallerプロパティを設定します。これらのプロパティは、基礎となる JAXB
Unmarshallerに設定されます。- パラメーター:
properties- プロパティ- 関連事項:
setMarshallerListener
JAXBMarshallerに登録するMarshaller.Listenerを指定します。setUnmarshallerListener
Unmarshaller.Listenerが JAXBUnmarshallerに登録されるように設定します。setValidationEventHandler
JAXB 検証イベントハンドラーを設定します。このイベントハンドラーは、マーシャリング API の呼び出し中に検証エラーが発生した場合に JAXB によって呼び出されます。setAdapters
JAXBMarshallerおよびUnmarshallerに登録するXmlAdapterを指定します。setSchema
検証に使用するスキーマリソースを設定します。setSchemas
検証に使用するスキーマリソースを設定します。setSchemaLanguage
スキーマ言語を設定します。デフォルトは W3C XML スキーマ:http://www.w3.org/2001/XMLSchema"です。setSchemaResourceResolver
スキーマリソースのロードに使用されるリソースリゾルバーを設定します。setLazyInit
public void setLazyInit(boolean lazyInit) このマーシャラーのJAXBContextEE を遅延初期化するかどうかを設定します。デフォルトは、起動時に初期化するfalseです。trueに切り替えることができます。初期化は、
afterPropertiesSet()が呼び出された場合にのみ適用されます。setMtomEnabled
public void setMtomEnabled(boolean mtomEnabled) MTOM サポートを有効にするかどうかを指定します。デフォルトはfalseです。XOP/ MTOM を使用したマーシャリングは有効になっていません。setSupportJaxbElementClass
public void setSupportJaxbElementClass(boolean supportJaxbElementClass) supports(Class)がJAXBElementEE クラスのtrueを返すかどうかを指定します。デフォルトは
falseです。つまり、supports(Class)はJAXBElementクラスに対して常にfalseを返します(ただし、supports(Type)はJAXBElementの型パラメーターを取得できるため、trueを返すことができます)。ModelAndViewは実行時に型パラメーター情報を提供しないため、このプロパティは通常、MarshallingViewなどのクラスの使用と組み合わせて有効になります。setCheckForXmlRootElement
public void setCheckForXmlRootElement(boolean checkForXmlRootElement) supports(Class)が@XmlRootElementEE アノテーションをチェックするかどうかを指定します。デフォルトは
trueです。つまり、supports(Class)はこのアノテーションをチェックします。ただし、一部の JAXB 実装(EclipseLink MOXy など)では、外部定義ファイルでバインディングを定義できるため、クラスアノテーションを自由に保つことができます。このプロパティをfalseに設定すると、これらの JAXB 実装がサポートされます。setMappedClass
部分的な非整列化のための JAXB マップクラスを指定します。setSupportDtd
public void setSupportDtd(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。デフォルトは
falseで、DTD が無効になっています。isSupportDtd
public boolean isSupportDtd()DTD 解析がサポートされているかどうかを返します。setProcessExternalEntities
public void setProcessExternalEntities(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。デフォルトは
falseです。これは、外部エンティティが解決されないことを意味します。unmarshal(Source)に渡されるSourceがSAXSourceSE またはStreamSourceSE である場合にのみ、外部エンティティの処理が有効または無効になることに注意してください。DOMSourceSE またはStAXSourceSE インスタンスには影響しません。注意 : このオプションを
trueに設定すると、setSupportDtd(boolean)がtrueに自動的に設定されます。isProcessExternalEntities
public boolean isProcessExternalEntities()XML 外部エンティティが許可されているかどうかを返します。setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
classLoader- 所有クラスローダー
afterPropertiesSet
インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet - 例外:
ExceptionSE- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合
getJaxbContext
このマーシャラーが使用する JAXBContext を返し、必要に応じて遅延ビルドします。supports
インターフェースからコピーされた説明:Marshallerこのマーシャラーが、指定された型のインスタンスをマーシャリングできるかどうかを示します。- 次で指定:
- インターフェース
Marshallerのsupports - 次で指定:
- インターフェース
Unmarshallerのsupports - パラメーター:
clazz- このマーシャラーがマーシャリングできるかどうか尋ねられているクラス- 戻り値:
- このマーシャラーが実際に提供されたクラスのインスタンスをマーシャリングできる場合は
true。それ以外の場合はfalse
supports
インターフェースからコピーされた説明:GenericMarshallerこのマーシャラーが、指定されたジェネリクス型のインスタンスをマーシャリングできるかどうかを示します。- 次で指定:
- インターフェース
GenericMarshallerのsupports - 次で指定:
- インターフェース
GenericUnmarshallerのsupports - パラメーター:
genericType- このマーシャラーがマーシャリングできるかどうか尋ねられている型- 戻り値:
- このマーシャラーが実際に提供された型のインスタンスをマーシャリングできる場合は
true。それ以外の場合はfalse
marshal
インターフェースからコピーされた説明:Marshaller指定されたルートを持つオブジェクトグラフを指定されたResultSE にマーシャリングします。- 次で指定:
- インターフェース
Marshallerのmarshal - パラメーター:
graph- マーシャリングするオブジェクトグラフのルートresult- マーシャリングする結果- 例外:
XmlMappingException- 指定されたオブジェクトを結果に整列化できない場合
marshal
public void marshal(ObjectSE graph, ResultSE result, @Nullable MimeContainer mimeContainer) throws XmlMappingException インターフェースからコピーされた説明:MimeMarshaller指定されたルートを持つオブジェクトグラフを指定されたResultSE にマーシャリングし、バイナリデータをMimeContainerに書き込みます。- 次で指定:
- インターフェース
MimeMarshallerのmarshal - パラメーター:
graph- マーシャリングするオブジェクトグラフのルートresult- マーシャリングする結果mimeContainer- 抽出されたバイナリコンテンツを書き込む MIME コンテナー- 例外:
XmlMappingException- 指定されたオブジェクトを結果に整列化できない場合
createMarshaller
新しく作成された JAXB マーシャラーを返します。メモ: JAXB マーシャラーは必ずしもスレッドセーフではありません。このメソッドは 5.2 以降はパブリックです。
- 導入:
- 5.2
- 関連事項:
initJaxbMarshaller
カスタム初期化動作のために具体的な JAXB マーシャラーによってオーバーライドできるテンプレートメソッド。JAXBMarshallerの作成後、およびそれぞれのプロパティが設定された後に呼び出されます。デフォルトの実装では、
defined properties、validation event handler、schemas、listener、adaptersを設定します。unmarshal
インターフェースからコピーされた説明:Unmarshaller指定されたSourceSE をオブジェクトグラフに非整列化します。- 次で指定:
- インターフェース
Unmarshallerのunmarshal - パラメーター:
source- マーシャリングのソース- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException- 指定されたソースをオブジェクトにマップできない場合
unmarshal
public ObjectSE unmarshal(SourceSE source, @Nullable MimeContainer mimeContainer) throws XmlMappingException インターフェースからコピーされた説明:MimeUnmarshaller指定されたSourceSE をオブジェクトグラフに非整列化し、MimeContainerからバイナリ添付ファイルを読み取ります。- 次で指定:
- インターフェース
MimeUnmarshallerのunmarshal - パラメーター:
source- マーシャリングのソースmimeContainer- 抽出されたバイナリコンテンツを読み取る MIME コンテナー- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException- 指定されたソースをオブジェクトにマップできない場合
createUnmarshaller
新しく作成された JAXB アンマーシャラーを返します。メモ: JAXB アンマーシャラーは必ずしもスレッドセーフではありません。このメソッドは 5.2 以降はパブリックです。
- 導入:
- 5.2
- 関連事項:
unmarshalStaxSource
protected ObjectSE unmarshalStaxSource(UnmarshallerEE jaxbUnmarshaller, SourceSE staxSource) throws JAXBExceptionEE initJaxbUnmarshaller
カスタム初期化動作のために具体的な JAXB マーシャラーによってオーバーライドできるテンプレートメソッド。JAXBMarshallerの作成後、およびそれぞれのプロパティが設定された後に呼び出されます。デフォルトの実装では、
defined properties、validation event handler、schemas、listener、adaptersを設定します。convertJaxbException
指定されたJAXBExceptionをorg.springframework.oxm階層からの適切な例外に変換します。- パラメーター:
ex- 発生したJAXBException- 戻り値:
- 対応する
XmlMappingException