クラス AbstractMessageConverter
java.lang.ObjectSE
org.springframework.messaging.converter.AbstractMessageConverter
- 実装されたすべてのインターフェース:
MessageConverter
,SmartMessageConverter
- 既知の直属サブクラス
AbstractJsonMessageConverter
、ByteArrayMessageConverter
、MappingJackson2MessageConverter
、MarshallingMessageConverter
、ProtobufMessageConverter
、StringMessageConverter
主にコンバーターがペイロードクラスと MIME 型に基づいた変換をサポートするかどうかを確認するための、共通プロパティのサポートと変換メソッドの部分的な実装を含む
SmartMessageConverter
実装の抽象基本クラス。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Sebastien Deleuze, Juergen Hoeller
フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクター修飾子コンストラクター説明protected
AbstractMessageConverter
(CollectionSE<MimeType> supportedMimeTypes) MIME 型のコレクションを含むコンストラクター。protected
AbstractMessageConverter
(MimeType supportedMimeType) 単一の MIME 型を持つコンストラクター。protected
AbstractMessageConverter
(MimeType... supportedMimeTypes) 複数の MIME 型を持つコンストラクター。方法の概要
修飾子と型メソッド説明protected void
addSupportedMimeTypes
(MimeType... supportedMimeTypes) サブクラスがサポートされている mime 型をさらに追加できるようにします。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) ペイロードオブジェクトを直列化された形式に変換します。final ObjectSE
fromMessage
(Message<?> message, ClassSE<?> targetClass) Message
のペイロードを、直列化された形式から、指定されたターゲットクラスの型付きオブジェクトに変換します。final ObjectSE
fromMessage
(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) MessageConverter.fromMessage(Message, Class)
のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。configured
ContentTypeResolver
を返します。protected MimeType
getDefaultContentType
(ObjectSE payload) ペイロードのデフォルトのコンテンツ型を返します。protected MimeType
getMimeType
(MessageHeaders headers) ClassSE<?>
設定された優先シリアライゼーションペイロードクラスを返します。サポートされている MIME 型を返します。boolean
コンテンツ型の解決で、サポートされている MIME 型のいずれかに一致する値を生成する必要があるかどうか。void
setContentTypeResolver
(ContentTypeResolver resolver) 入力メッセージのコンテンツ型を解決するためにContentTypeResolver
を構成します。void
setSerializedPayloadClass
(ClassSE<?> payloadClass) オブジェクトペイロードをMessage
に変換するときに使用する優先直列化クラス(byte[] または String)を構成します。void
setStrictContentTypeMatch
(boolean strictContentTypeMatch) このコンバーターが、構成されたContentTypeResolver
を通じてコンテンツ型を解決できないメッセージを変換するかどうか。protected abstract boolean
指定されたクラスがこのコンバーターでサポートされているかどうか。protected boolean
supportsMimeType
(MessageHeaders headers) final Message<?>
toMessage
(ObjectSE payload, MessageHeaders headers) ペイロードが特定のペイロードオブジェクトを直列化された形式に変換した結果であるMessage
を作成します。final Message<?>
toMessage
(ObjectSE payload, MessageHeaders headers, ObjectSE conversionHint) MessageConverter.toMessage(Object, MessageHeaders)
のバリアントで、追加の変換コンテキストを引数として受け取り、たとえば戻り値の型のアノテーションを考慮に入れることができます。
フィールドの詳細
logger
コンストラクターの詳細
AbstractMessageConverter
単一の MIME 型を持つコンストラクター。AbstractMessageConverter
複数の MIME 型を持つコンストラクター。- 導入:
- 5.2.2
AbstractMessageConverter
MIME 型のコレクションを含むコンストラクター。
メソッドの詳細
getSupportedMimeTypes
サポートされている MIME 型を返します。addSupportedMimeTypes
サブクラスがサポートされている mime 型をさらに追加できるようにします。- 導入:
- 5.2.2
setContentTypeResolver
入力メッセージのコンテンツ型を解決するためにContentTypeResolver
を構成します。デフォルトでは、
DefaultContentTypeResolver
インスタンスが使用されます。注意 : リゾルバーが
null
に設定されている場合、strictContentTypeMatch
はデフォルトのfalse
でなければなりません。そうしないと、このコンバーターはすべてのメッセージを無視します。getContentTypeResolver
configured
ContentTypeResolver
を返します。setStrictContentTypeMatch
public void setStrictContentTypeMatch(boolean strictContentTypeMatch) このコンバーターが、構成されたContentTypeResolver
を通じてコンテンツ型を解決できないメッセージを変換するかどうか。contentTypeResolver
が構成され、supportedMimeTypes
のリストが空でない場合にのみ、コンバーターを厳密に構成できます。このフラグが
true
に設定されている場合、contentTypeResolver
が定義されていない場合、content-type ヘッダーが存在しない場合、supportsMimeType(MessageHeaders)
はfalse
を返します。isStrictContentTypeMatch
public boolean isStrictContentTypeMatch()コンテンツ型の解決で、サポートされている MIME 型のいずれかに一致する値を生成する必要があるかどうか。setSerializedPayloadClass
オブジェクトペイロードをMessage
に変換するときに使用する優先直列化クラス(byte[] または String)を構成します。デフォルト値は byte[] です。
- パラメーター:
payloadClass
- byte[] または String のいずれか
getSerializedPayloadClass
設定された優先シリアライゼーションペイロードクラスを返します。fromMessage
インターフェースからコピーされた説明:MessageConverter
Message
のペイロードを、直列化された形式から、指定されたターゲットクラスの型指定されたオブジェクトに変換します。MessageHeaders.CONTENT_TYPE
ヘッダーは、変換元の MIME 型を示す必要があります。コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、
null
を返します。- 次で指定:
- インターフェース
MessageConverter
のfromMessage
- パラメーター:
message
- 入力メッセージtargetClass
- 変換のターゲットクラス- 戻り値:
- 変換の結果、またはコンバーターが変換を実行できない場合は
null
fromMessage
@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
- 関連事項:
toMessage
インターフェースからコピーされた説明:MessageConverter
ペイロードが指定されたペイロードオブジェクトを直列化された形式に変換した結果であるMessage
を作成します。オプションのMessageHeaders
パラメーターには、変換のターゲットメディア型を指定するMessageHeaders.CONTENT_TYPE
ヘッダーを含めることができ、メッセージに追加する追加のヘッダーを含めることができます。コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、
null
を返します。- 次で指定:
- インターフェース
MessageConverter
のtoMessage
- パラメーター:
payload
- 変換するオブジェクトheaders
- メッセージのオプションのヘッダー (null
の場合があります)- 戻り値:
- 新しいメッセージ、またはコンバーターがオブジェクト型またはターゲットメディア型をサポートしていない場合は
null
toMessage
@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
- 関連事項:
canConvertFrom
canConvertTo
supportsMimeType
getMimeType
getDefaultContentType
ペイロードのデフォルトのコンテンツ型を返します。メッセージヘッダーなしまたはコンテンツ型ヘッダーなしでtoMessage(Object, MessageHeaders)
が呼び出されたときに呼び出されます。デフォルトでは、これは
supportedMimeTypes
の最初の要素を返します(存在する場合)。サブクラスでオーバーライドできます。- パラメーター:
payload
- メッセージに変換されるペイロード- 戻り値:
- コンテンツ型、または不明の場合は
null
supports
指定されたクラスがこのコンバーターでサポートされているかどうか。- パラメーター:
clazz
- サポートをテストするクラス- 戻り値:
- サポートされている場合は
true
。それ以外の場合はfalse
convertFromInternal
@Nullable protected ObjectSE convertFromInternal(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint) メッセージペイロードを直列化された形式からオブジェクトに変換します。- パラメーター:
message
- 入力メッセージtargetClass
- 変換のターゲットクラスconversionHint
-MessageConverter
に渡される追加のオブジェクト、たとえば、関連するMethodParameter
(null
の場合もあります)- 戻り値:
- 変換の結果、またはコンバーターが変換を実行できない場合は
null
- 導入:
- 4.2
convertToInternal
@Nullable protected ObjectSE convertToInternal(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint) ペイロードオブジェクトを直列化された形式に変換します。- パラメーター:
payload
- 変換するオブジェクトheaders
- メッセージのオプションのヘッダー (null
の場合があります)conversionHint
-MessageConverter
に渡される追加のオブジェクト、たとえば、関連するMethodParameter
(null
の場合もあります)- 戻り値:
- メッセージの結果のペイロード、またはコンバーターが変換を実行できない場合は
null
- 導入:
- 4.2