public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessageConverter<java.lang.Object>
HttpMessageConverter の実装。 このコンバーターは、XmlRootElementEE および XmlTypeEE のアノテーションが付いたクラスを読み取り、XmlRootElementEE のアノテーションが付いたクラスまたはそのサブクラスを書き込むことができます。
メモ: spring-oxm から Spring の Marshaller/Unmarshaller 抽象化を使用する場合、代わりに MarshallingHttpMessageConverter を使用する必要があります。
MarshallingHttpMessageConverterlogger| コンストラクターと説明 |
|---|
Jaxb2RootElementHttpMessageConverter() |
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean | canRead(java.lang.Class<?> clazz, MediaType mediaType) この実装は、指定されたクラスがサポートされているかどうか、およびサポートされているメディア型 に指定されたメディア型が 含まれているかどうかをチェックします。 |
boolean | canWrite(java.lang.Class<?> clazz, MediaType mediaType) |
boolean | isProcessExternalEntities()XML 外部エンティティを許可するかどうかの構成値を返します。 |
boolean | isSupportDtd()DTD 解析がサポートされているかどうか。 |
protected javax.xml.transform.Source | processSource(javax.xml.transform.Source source) |
protected java.lang.Object | readFromSource(java.lang.Class<?> clazz, HttpHeaders headers, javax.xml.transform.Source source)AbstractHttpMessageConverter.read(Class, HttpInputMessage) から呼び出される抽象テンプレートメソッド。 |
void | setProcessExternalEntities(boolean processExternalEntities) ソースへの変換時に外部 XML エンティティを処理するかどうかを示します。 |
void | setSupportDtd(boolean supportDtd)DTD 解析をサポートする必要があるかどうかを示します。 |
protected boolean | supports(java.lang.Class<?> clazz) 指定されたクラスがこのコンバーターでサポートされているかどうかを示します。 |
protected void | writeToResult(java.lang.Object o, HttpHeaders headers, javax.xml.transform.Result result)AbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage) から呼び出される抽象テンプレートメソッド。 |
createMarshaller, createUnmarshaller, customizeMarshaller, customizeUnmarshaller, getJaxbContextreadInternal, transform, writeInternaladdDefaultHeaders, canRead, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writepublic void setSupportDtd(boolean supportDtd)
デフォルトは false で、DTD が無効になっています。
public boolean isSupportDtd()
public void setProcessExternalEntities(boolean processExternalEntities)
デフォルトは false です。これは、外部エンティティが解決されないことを意味します。
注意 : このオプションを true に設定すると、setSupportDtd(boolean) が true に自動的に設定されます。
public boolean isProcessExternalEntities()
public boolean canRead(java.lang.Class<?> clazz,
@Nullable
MediaType mediaType)AbstractHttpMessageConverterHttpMessageConverter<java.lang.Object> 内の canRead AbstractHttpMessageConverter<java.lang.Object> の canRead clazz - 読み込み可能性をテストするクラス mediaType - 読み取るメディア型(指定しない場合は null にできます); 通常、Content-Type ヘッダーの値。true。それ以外の場合は false public boolean canWrite(java.lang.Class<?> clazz,
@Nullable
MediaType mediaType)AbstractHttpMessageConverterHttpMessageConverter<java.lang.Object> 内の canWrite AbstractHttpMessageConverter<java.lang.Object> の canWrite clazz - 書き込み可能性をテストするクラス mediaType - 書き込むメディア型(指定しない場合は null にすることができます); 通常、Accept ヘッダーの値。true。それ以外の場合は false protected boolean supports(java.lang.Class<?> clazz)
AbstractHttpMessageConverterAbstractHttpMessageConverter<java.lang.Object> の supports clazz - サポートをテストするクラス true。それ以外の場合は false protected java.lang.Object readFromSource(java.lang.Class<?> clazz,
HttpHeaders headers,
javax.xml.transform.Source source)
throws java.lang.ExceptionAbstractXmlHttpMessageConverterAbstractHttpMessageConverter.read(Class, HttpInputMessage) から呼び出される抽象テンプレートメソッド。AbstractXmlHttpMessageConverter<java.lang.Object> の readFromSource clazz - 返すオブジェクトの型 headers - HTTP 入力ヘッダー source - HTTP 入力本体 java.lang.Exception - I/O または変換エラーの場合 protected javax.xml.transform.Source processSource(javax.xml.transform.Source source)
protected void writeToResult(java.lang.Object o,
HttpHeaders headers,
javax.xml.transform.Result result)
throws java.lang.ExceptionAbstractXmlHttpMessageConverterAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage) から呼び出される抽象テンプレートメソッド。AbstractXmlHttpMessageConverter<java.lang.Object> の writeToResult o - 出力メッセージに書き込むオブジェクト headers - HTTP 出力ヘッダー result - HTTP 出力本文 java.lang.Exception - I/O または変換エラーの場合