public abstract class AbstractMessageConverter extends ObjectSE implements SmartMessageConverter
SmartMessageConverter
実装の抽象基本クラス。修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractMessageConverter(CollectionSE<MimeType> supportedMimeTypes) 複数の MIME 型をサポートする AbstractMessageConverter を構築します。 |
protected | AbstractMessageConverter(MimeType supportedMimeType) 単一の MIME 型をサポートする AbstractMessageConverter を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected boolean | canConvertFrom(Message<?> message, ClassSE<?> targetClass) |
protected boolean | canConvertTo(ObjectSE payload, MessageHeaders headers) |
protected ObjectSE | convertFromInternal(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) メッセージペイロードを直列化された形式からオブジェクトに変換します。 |
protected ObjectSE | convertToInternal(ObjectSE payload, MessageHeaders headers, ObjectSE conversionHint) ペイロードオブジェクトを直列化された形式に変換します。 |
ObjectSE | fromMessage(Message<?> message, ClassSE<?> targetClass) Message のペイロードを、直列化された形式から、指定されたターゲットクラスの型付きオブジェクトに変換します。 |
ObjectSE | fromMessage(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) 引数として追加の変換コンテキストをとる MessageConverter.fromMessage(Message, Class) のバリアント。 |
ContentTypeResolver | getContentTypeResolver() 設定された ContentTypeResolver を返します。 |
protected MimeType | getDefaultContentType(ObjectSE payload) ペイロードのデフォルトのコンテンツ型を返します。 |
protected MimeType | getMimeType(MessageHeaders headers) |
ClassSE<?> | getSerializedPayloadClass() 設定された優先シリアライゼーションペイロードクラスを返します。 |
ListSE<MimeType> | getSupportedMimeTypes() サポートされている MIME 型を返します。 |
boolean | isStrictContentTypeMatch() コンテンツ型の解決で、サポートされている MIME 型のいずれかに一致する値を生成する必要があるかどうか。 |
void | setContentTypeResolver(ContentTypeResolver resolver) 入力メッセージのコンテンツ型を解決するために使用する ContentTypeResolver を構成します。 |
void | setSerializedPayloadClass(ClassSE<?> payloadClass) オブジェクトペイロードを Message に変換するときに使用する優先直列化クラス(byte[] または String)を構成します。 |
void | setStrictContentTypeMatch(boolean strictContentTypeMatch) このコンバーターが、構成された ContentTypeResolver を通じてコンテンツ型を解決できないメッセージを変換するかどうか。 |
protected abstract boolean | supports(ClassSE<?> clazz) 指定されたクラスがこのコンバーターでサポートされているかどうか。 |
protected boolean | supportsMimeType(MessageHeaders headers) |
Message<?> | toMessage(ObjectSE payload, MessageHeaders headers) ペイロードが特定のペイロードオブジェクトを直列化された形式に変換した結果である Message を作成します。 |
Message<?> | toMessage(ObjectSE payload, MessageHeaders headers, ObjectSE conversionHint) 引数として追加の変換コンテキストをとる MessageConverter.toMessage(Object, MessageHeaders) のバリアント。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
protected AbstractMessageConverter(MimeType supportedMimeType)
AbstractMessageConverter
を構築します。supportedMimeType
- サポートされている MIME 型 protected AbstractMessageConverter(CollectionSE<MimeType> supportedMimeTypes)
AbstractMessageConverter
を構築します。supportedMimeTypes
- サポートされている MIME 型 public void setContentTypeResolver(@Nullable ContentTypeResolver resolver)
ContentTypeResolver
を構成します。 リゾルバーが構成されていない場合、strictContentTypeMatch
は false
(デフォルト)のままにする必要があります。そうしないと、このコンバーターはすべてのメッセージを無視します。
デフォルトでは、DefaultContentTypeResolver
インスタンスが使用されます。
@Nullable public ContentTypeResolver getContentTypeResolver()
ContentTypeResolver
を返します。public void setStrictContentTypeMatch(boolean strictContentTypeMatch)
ContentTypeResolver
を通じてコンテンツ型を解決できないメッセージを変換するかどうか。contentTypeResolver
が構成されていて、supportedMimeTypes
のリストが空でない場合にのみ、コンバーターを厳密に構成できます。
このフラグが true
に設定されている場合、contentTypeResolver
が定義されていない場合、content-type ヘッダーが存在しない場合、supportsMimeType(MessageHeaders)
は false
を返します。
public boolean isStrictContentTypeMatch()
public void setSerializedPayloadClass(ClassSE<?> payloadClass)
Message
に変換するときに使用する優先直列化クラス(byte[] または String)を構成します。デフォルト値は byte[] です。
payloadClass
- byte[] または String のいずれか public ClassSE<?> getSerializedPayloadClass()
@Nullable protected MimeType getDefaultContentType(ObjectSE payload)
toMessage(Object, MessageHeaders)
が呼び出されたときに呼び出されます。 デフォルトでは、これは supportedMimeTypes
の最初の要素があればそれを返します。サブクラスでオーバーライドできます。
payload
- メッセージに変換されるペイロード null
@Nullable public final ObjectSE fromMessage(Message<?> message, ClassSE<?> targetClass)
MessageConverter
Message
のペイロードを、直列化された形式から、指定されたターゲットクラスの型指定されたオブジェクトに変換します。MessageHeaders.CONTENT_TYPE
ヘッダーは、変換元の MIME 型を示す必要があります。 コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、null
を返します。
MessageConverter
の fromMessage
message
- 入力メッセージ targetClass
- 変換のターゲットクラス null
@Nullable public final ObjectSE fromMessage(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint)
SmartMessageConverter
MessageConverter.fromMessage(Message, Class)
のバリアント。ペイロードパラメーターのアノテーションを考慮します。SmartMessageConverter
の fromMessage
message
- 入力メッセージ targetClass
- 変換のターゲットクラス conversionHint
- MessageConverter
に渡される追加のオブジェクト。関連する MethodParameter
(null
の場合があります。}null
MessageConverter.fromMessage(Message, Class)
@Nullable public final Message<?> toMessage(ObjectSE payload, @Nullable MessageHeaders headers)
MessageConverter
Message
を作成します。オプションの MessageHeaders
パラメーターには、変換のターゲットメディア型を指定する MessageHeaders.CONTENT_TYPE
ヘッダーを含めることができ、メッセージに追加する追加のヘッダーを含めることができます。 コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、null
を返します。
MessageConverter
の toMessage
payload
- 変換するオブジェクト headers
- メッセージのオプションのヘッダー (null
の場合があります)null
@Nullable public final Message<?> toMessage(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint)
SmartMessageConverter
MessageConverter.toMessage(Object, MessageHeaders)
のバリアント。たとえば、戻り値型のアノテーションが考慮されます。SmartMessageConverter
の toMessage
payload
- 変換するオブジェクト headers
- メッセージのオプションのヘッダー (null
の場合があります)conversionHint
- MessageConverter
に渡される追加のオブジェクト。関連する MethodParameter
(null
の場合があります。}null
MessageConverter.toMessage(Object, MessageHeaders)
protected boolean canConvertTo(ObjectSE payload, @Nullable MessageHeaders headers)
protected boolean supportsMimeType(@Nullable MessageHeaders headers)
@Nullable protected MimeType getMimeType(@Nullable MessageHeaders headers)
protected abstract boolean supports(ClassSE<?> clazz)
clazz
- サポートをテストするクラス true
。それ以外の場合は false
@Nullable protected ObjectSE convertFromInternal(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint)
message
- 入力メッセージ targetClass
- 変換のターゲットクラス conversionHint
- MessageConverter
に渡される追加のオブジェクト。関連する MethodParameter
(null
の場合があります。}null
@Nullable protected ObjectSE convertToInternal(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint)
payload
- 変換するオブジェクト headers
- メッセージのオプションのヘッダー (null
の場合があります)conversionHint
- MessageConverter
に渡される追加のオブジェクト。関連する MethodParameter
(null
の場合があります。}null