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