public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessageConverter<ObjectSE>
HttpMessageConverter
の実装。 このコンバーターは、XmlRootElement
SE および XmlType
SE のアノテーションが付いたクラスを読み取り、XmlRootElement
SE のアノテーションが付いたクラスまたはそのサブクラスを書き込むことができます。
メモ: spring-oxm
から Spring の Marshaller/Unmarshaller 抽象化を使用する場合、代わりに MarshallingHttpMessageConverter
を使用する必要があります。
MarshallingHttpMessageConverter
logger
コンストラクターと説明 |
---|
Jaxb2RootElementHttpMessageConverter() |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canRead(ClassSE<?> clazz, MediaType mediaType) この実装は、指定されたクラスがサポートされているかどうか、およびサポートされているメディア型 に指定されたメディア型が 含まれているかどうかをチェックします。 |
boolean | canWrite(ClassSE<?> clazz, MediaType mediaType) |
boolean | isProcessExternalEntities() XML 外部エンティティが許可されているかどうかを返します。 |
boolean | isSupportDtd() DTD 解析がサポートされているかどうかを返します。 |
protected SourceSE | processSource(SourceSE source) |
protected ObjectSE | readFromSource(ClassSE<?> clazz, HttpHeaders headers, SourceSE source) AbstractHttpMessageConverter.read(Class, HttpInputMessage) から呼び出される抽象テンプレートメソッド。 |
void | setProcessExternalEntities(boolean processExternalEntities) Source への変換時に外部 XML エンティティが処理されるかどうかを示します。 |
void | setSupportDtd(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。 |
protected boolean | supports(ClassSE<?> clazz) 指定されたクラスがこのコンバーターでサポートされているかどうかを示します。 |
protected void | writeToResult(ObjectSE o, HttpHeaders headers, ResultSE result) AbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage) から呼び出される抽象テンプレートメソッド。 |
createMarshaller, createUnmarshaller, customizeMarshaller, customizeUnmarshaller, getJaxbContext
readInternal, transform, writeInternal
addDefaultHeaders, canRead, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public 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(ClassSE<?> clazz, @Nullable MediaType mediaType)
AbstractHttpMessageConverter
HttpMessageConverter<ObjectSE>
の canRead
AbstractHttpMessageConverter<ObjectSE>
の canRead
clazz
- 読み込み可能性をテストするクラス mediaType
- 読み取るメディア型(指定しない場合は null
にできます); 通常、Content-Type
ヘッダーの値。true
。それ以外の場合は false
public boolean canWrite(ClassSE<?> clazz, @Nullable MediaType mediaType)
AbstractHttpMessageConverter
HttpMessageConverter<ObjectSE>
の canWrite
AbstractHttpMessageConverter<ObjectSE>
の canWrite
clazz
- 書き込み可能性をテストするクラス mediaType
- 書き込むメディア型(指定しない場合は null
にすることができます); 通常、Accept
ヘッダーの値。true
。それ以外の場合は false
protected boolean supports(ClassSE<?> clazz)
AbstractHttpMessageConverter
AbstractHttpMessageConverter<ObjectSE>
の supports
clazz
- サポートをテストするクラス true
。それ以外の場合は false
protected ObjectSE readFromSource(ClassSE<?> clazz, HttpHeaders headers, SourceSE source) throws ExceptionSE
AbstractXmlHttpMessageConverter
AbstractHttpMessageConverter.read(Class, HttpInputMessage)
から呼び出される抽象テンプレートメソッド。AbstractXmlHttpMessageConverter<ObjectSE>
の readFromSource
clazz
- 返すオブジェクトの型 headers
- HTTP 入力ヘッダー source
- HTTP 入力本体 ExceptionSE
- I/O または変換エラーの場合 protected void writeToResult(ObjectSE o, HttpHeaders headers, ResultSE result) throws ExceptionSE
AbstractXmlHttpMessageConverter
AbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage)
から呼び出される抽象テンプレートメソッド。AbstractXmlHttpMessageConverter<ObjectSE>
の writeToResult
o
- 出力メッセージに書き込むオブジェクト headers
- HTTP 出力ヘッダー result
- HTTP 出力本文 ExceptionSE
- I/O または変換エラーの場合