クラス 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<?, ?>...)
フィールドサマリー
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
protected XmlMappingException
指定されたJAXBException
をorg.springframework.oxm
階層からの適切な例外に変換します。新しく作成された JAXB マーシャラーを返します。新しく作成された JAXB アンマーシャラーを返します。ClassSE<?>[]
新しく作成された JAXBContext によって認識される Java クラスのリストを返します。JAXB コンテキストパスを返します。このマーシャラーが使用する JAXBContext を返し、必要に応じて遅延ビルドします。StringSE[]
JAXB2 アノテーションを検索するパッケージを返します。protected void
initJaxbMarshaller
(MarshallerEE marshaller) カスタム初期化動作のために具体的な JAXB マーシャラーによってオーバーライドできるテンプレートメソッド。protected void
initJaxbUnmarshaller
(UnmarshallerEE unmarshaller) カスタム初期化動作のために具体的な JAXB マーシャラーによってオーバーライドできるテンプレートメソッド。boolean
XML 外部エンティティが許可されているかどうかを返します。boolean
DTD 解析がサポートされているかどうかを返します。void
指定されたルートを持つオブジェクトグラフを指定されたResult
SE にマーシャリングします。void
marshal
(ObjectSE graph, ResultSE result, MimeContainer mimeContainer) 指定されたルートを持つオブジェクトグラフを指定されたResult
SE にマーシャリングし、バイナリデータをMimeContainer
に書き込みます。void
setAdapters
(XmlAdapterEE<?, ?>... adapters) JAXBMarshaller
およびUnmarshaller
に登録するXmlAdapter
を指定します。void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setCheckForXmlRootElement
(boolean checkForXmlRootElement) supports(Class)
が@XmlRootElement
EE アノテーションをチェックするかどうかを指定します。void
setClassesToBeBound
(ClassSE<?>... classesToBeBound) Java クラスのリストを、新しく作成された JAXBContext によって認識されるように設定します。void
setContextPath
(StringSE contextPath) JAXB コンテキストパスを設定します。void
setContextPaths
(StringSE... contextPaths) 複数の JAXB コンテキストパスを設定します。void
setJaxbContextProperties
(MapSE<StringSE, ?> jaxbContextProperties) JAXBContext
プロパティを設定します。void
setLazyInit
(boolean lazyInit) このマーシャラーのJAXBContext
EE を遅延初期化するかどうかを設定します。void
setMappedClass
(ClassSE<?> mappedClass) 部分的な非整列化のための JAXB マップクラスを指定します。void
setMarshallerListener
(Marshaller.ListenerEE marshallerListener) JAXBMarshaller
に登録するMarshaller.Listener
を指定します。void
setMarshallerProperties
(MapSE<StringSE, ?> properties) JAXBMarshaller
プロパティを設定します。void
setMtomEnabled
(boolean mtomEnabled) MTOM サポートを有効にするかどうかを指定します。void
setPackagesToScan
(StringSE... packagesToScan) クラスパスに JAXB2 アノテーションを含むクラスを検索するようにパッケージを設定します。void
setProcessExternalEntities
(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。void
検証に使用するスキーマリソースを設定します。void
setSchemaLanguage
(StringSE schemaLanguage) スキーマ言語を設定します。void
setSchemaResourceResolver
(LSResourceResolverSE schemaResourceResolver) スキーマリソースのロードに使用されるリソースリゾルバーを設定します。void
setSchemas
(Resource... schemaResources) 検証に使用するスキーマリソースを設定します。void
setSupportDtd
(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。void
setSupportJaxbElementClass
(boolean supportJaxbElementClass) void
setUnmarshallerListener
(Unmarshaller.ListenerEE unmarshallerListener) Unmarshaller.Listener
が JAXBUnmarshaller
に登録されるように設定します。void
setUnmarshallerProperties
(MapSE<StringSE, ?> properties) JAXBUnmarshaller
プロパティを設定します。void
setValidationEventHandler
(ValidationEventHandlerEE validationEventHandler) JAXB 検証イベントハンドラーを設定します。boolean
このマーシャラーが、指定された型のインスタンスをマーシャリングできるかどうかを示します。boolean
このマーシャラーが、指定されたジェネリクス型のインスタンスをマーシャリングできるかどうかを示します。指定されたSource
SE をオブジェクトグラフに非整列化します。unmarshal
(SourceSE source, MimeContainer mimeContainer) 指定されたSource
SE をオブジェクトグラフに非整列化し、MimeContainer
からバイナリ添付ファイルを読み取ります。protected ObjectSE
unmarshalStaxSource
(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) このマーシャラーのJAXBContext
EE を遅延初期化するかどうかを設定します。デフォルトは、起動時に初期化するfalse
です。true
に切り替えることができます。初期化は、
afterPropertiesSet()
が呼び出された場合にのみ適用されます。setMtomEnabled
public void setMtomEnabled(boolean mtomEnabled) MTOM サポートを有効にするかどうかを指定します。デフォルトはfalse
です。XOP/ MTOM を使用したマーシャリングは有効になっていません。setSupportJaxbElementClass
public void setSupportJaxbElementClass(boolean supportJaxbElementClass) supports(Class)
がJAXBElement
EE クラスのtrue
を返すかどうかを指定します。デフォルトは
false
です。つまり、supports(Class)
はJAXBElement
クラスに対して常にfalse
を返します(ただし、supports(Type)
はJAXBElement
の型パラメーターを取得できるため、true
を返すことができます)。ModelAndView
は実行時に型パラメーター情報を提供しないため、このプロパティは通常、MarshallingView
などのクラスの使用と組み合わせて有効になります。setCheckForXmlRootElement
public void setCheckForXmlRootElement(boolean checkForXmlRootElement) supports(Class)
が@XmlRootElement
EE アノテーションをチェックするかどうかを指定します。デフォルトは
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
がSAXSource
SE またはStreamSource
SE である場合にのみ、外部エンティティの処理が有効または無効になることに注意してください。DOMSource
SE またはStAXSource
SE インスタンスには影響しません。注意 : このオプションを
true
に設定すると、setSupportDtd(boolean)
がtrue
に自動的に設定されます。isProcessExternalEntities
public boolean isProcessExternalEntities()XML 外部エンティティが許可されているかどうかを返します。setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.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
指定されたルートを持つオブジェクトグラフを指定されたResult
SE にマーシャリングします。- 次で指定:
- インターフェース
Marshaller
のmarshal
- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートresult
- マーシャリングする結果- 例外:
XmlMappingException
- 指定されたオブジェクトを結果に整列化できない場合
marshal
public void marshal(ObjectSE graph, ResultSE result, @Nullable MimeContainer mimeContainer) throws XmlMappingException インターフェースからコピーされた説明:MimeMarshaller
指定されたルートを持つオブジェクトグラフを指定されたResult
SE にマーシャリングし、バイナリデータを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
指定されたSource
SE をオブジェクトグラフに非整列化します。- 次で指定:
- インターフェース
Unmarshaller
のunmarshal
- パラメーター:
source
- マーシャリングのソース- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたソースをオブジェクトにマップできない場合
unmarshal
public ObjectSE unmarshal(SourceSE source, @Nullable MimeContainer mimeContainer) throws XmlMappingException インターフェースからコピーされた説明:MimeUnmarshaller
指定されたSource
SE をオブジェクトグラフに非整列化し、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