クラス 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
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター修飾子コンストラクター説明protectedAbstractMessageConverter(CollectionSE<MimeType> supportedMimeTypes) MIME 型のコレクションを含むコンストラクター。protectedAbstractMessageConverter(MimeType supportedMimeType) 単一の MIME 型を持つコンストラクター。protectedAbstractMessageConverter(MimeType... supportedMimeTypes) 複数の MIME 型を持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明protected voidaddSupportedMimeTypes(MimeType... supportedMimeTypes) サブクラスがサポートされている mime 型をさらに追加できるようにします。protected booleancanConvertFrom(Message<?> message, ClassSE<?> targetClass) protected booleancanConvertTo(ObjectSE payload, MessageHeaders headers) protected ObjectSEconvertFromInternal(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) メッセージペイロードを直列化された形式からオブジェクトに変換します。protected ObjectSEconvertToInternal(ObjectSE payload, MessageHeaders headers, ObjectSE conversionHint) ペイロードオブジェクトを直列化された形式に変換します。final ObjectSEfromMessage(Message<?> message, ClassSE<?> targetClass) Messageのペイロードを、直列化された形式から、指定されたターゲットクラスの型付きオブジェクトに変換します。final ObjectSEfromMessage(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) MessageConverter.fromMessage(Message, Class)のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。configuredContentTypeResolverを返します。protected MimeTypegetDefaultContentType(ObjectSE payload) ペイロードのデフォルトのコンテンツ型を返します。protected MimeTypegetMimeType(MessageHeaders headers) ClassSE<?>設定された優先シリアライゼーションペイロードクラスを返します。サポートされている MIME 型を返します。booleanコンテンツ型の解決で、サポートされている MIME 型のいずれかに一致する値を生成する必要があるかどうか。voidsetContentTypeResolver(ContentTypeResolver resolver) 入力メッセージのコンテンツ型を解決するためにContentTypeResolverを構成します。voidsetSerializedPayloadClass(ClassSE<?> payloadClass) オブジェクトペイロードをMessageに変換するときに使用する優先直列化クラス(byte[] または String)を構成します。voidsetStrictContentTypeMatch(boolean strictContentTypeMatch) このコンバーターが、構成されたContentTypeResolverを通じてコンテンツ型を解決できないメッセージを変換するかどうか。protected abstract boolean指定されたクラスがこのコンバーターでサポートされているかどうか。protected booleansupportsMimeType(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
configuredContentTypeResolverを返します。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
インターフェースからコピーされた説明:MessageConverterMessageのペイロードを、直列化された形式から、指定されたターゲットクラスの型指定されたオブジェクトに変換します。MessageHeaders.CONTENT_TYPEヘッダーは、変換元の MIME 型を示す必要があります。コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、
nullを返します。- 次で指定:
- インターフェース
MessageConverterのfromMessage - パラメーター:
message- 入力メッセージtargetClass- 変換のターゲットクラス- 戻り値:
- 変換の結果、またはコンバーターが変換を実行できない場合は
null
fromMessage
@Nullable public final ObjectSE fromMessage(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint) インターフェースからコピーされた説明:SmartMessageConverterMessageConverter.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) インターフェースからコピーされた説明:SmartMessageConverterMessageConverter.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