クラス AbstractMessageConverter

java.lang.ObjectSE
org.springframework.messaging.converter.AbstractMessageConverter
実装されたすべてのインターフェース:
MessageConverterSmartMessageConverter
既知の直属サブクラス
AbstractJsonMessageConverterByteArrayMessageConverterMappingJackson2MessageConverterMarshallingMessageConverterProtobufMessageConverterStringMessageConverter

public abstract class AbstractMessageConverter extends ObjectSE implements SmartMessageConverter
主にコンバーターがペイロードクラスと MIME 型に基づいた変換をサポートするかどうかを確認するための、共通プロパティのサポートと変換メソッドの部分的な実装を含む SmartMessageConverter 実装の抽象基本クラス。
導入:
4.0
作成者:
Rossen Stoyanchev, Sebastien Deleuze, Juergen Hoeller
  • フィールドの詳細

    • logger

      protected final Log logger
  • コンストラクターの詳細

    • AbstractMessageConverter

      protected AbstractMessageConverter(MimeType supportedMimeType)
      単一の MIME 型を持つコンストラクター。
    • AbstractMessageConverter

      protected AbstractMessageConverter(MimeType... supportedMimeTypes)
      複数の MIME 型を持つコンストラクター。
      導入:
      5.2.2
    • AbstractMessageConverter

      protected AbstractMessageConverter(CollectionSE<MimeType> supportedMimeTypes)
      MIME 型のコレクションを含むコンストラクター。
  • メソッドの詳細

    • getSupportedMimeTypes

      public ListSE<MimeType> getSupportedMimeTypes()
      サポートされている MIME 型を返します。
    • addSupportedMimeTypes

      protected void addSupportedMimeTypes(MimeType... supportedMimeTypes)
      サブクラスがサポートされている mime 型をさらに追加できるようにします。
      導入:
      5.2.2
    • setContentTypeResolver

      public void setContentTypeResolver(@Nullable ContentTypeResolver resolver)
      入力メッセージのコンテンツ型を解決するために ContentTypeResolver を構成します。

      デフォルトでは、DefaultContentTypeResolver インスタンスが使用されます。

      注意 : リゾルバーが null に設定されている場合、strictContentTypeMatch はデフォルトの false でなければなりません。そうしないと、このコンバーターはすべてのメッセージを無視します。

    • getContentTypeResolver

      @Nullable public ContentTypeResolver 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

      public void setSerializedPayloadClass(ClassSE<?> payloadClass)
      オブジェクトペイロードを Message に変換するときに使用する優先直列化クラス(byte[] または String)を構成します。

      デフォルト値は byte[] です。

      パラメーター:
      payloadClass - byte[] または String のいずれか
    • getSerializedPayloadClass

      public ClassSE<?> getSerializedPayloadClass()
      設定された優先シリアライゼーションペイロードクラスを返します。
    • fromMessage

      @Nullable public final ObjectSE fromMessage(Message<?> message, ClassSE<?> targetClass)
      インターフェースからコピーされた説明: MessageConverter
      Message のペイロードを、直列化された形式から、指定されたターゲットクラスの型指定されたオブジェクトに変換します。MessageHeaders.CONTENT_TYPE ヘッダーは、変換元の MIME 型を示す必要があります。

      コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、null を返します。

      次で指定:
      インターフェース MessageConverterfromMessage 
      パラメーター:
      message - 入力メッセージ
      targetClass - 変換のターゲットクラス
      戻り値:
      変換の結果、またはコンバーターが変換を実行できない場合は null 
    • fromMessage

      @Nullable public final ObjectSE fromMessage(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint)
      インターフェースからコピーされた説明: SmartMessageConverter
      引数として追加の変換コンテキストをとる MessageConverter.fromMessage(Message, Class) のバリアント。ペイロードパラメーターのアノテーションを考慮します。
      次で指定:
      インターフェース SmartMessageConverterfromMessage 
      パラメーター:
      message - 入力メッセージ
      targetClass - 変換のターゲットクラス
      conversionHint - MessageConverter に渡される追加のオブジェクト。関連する MethodParameter (null の場合があります。}
      戻り値:
      変換の結果、またはコンバーターが変換を実行できない場合は null 
      関連事項:
    • toMessage

      @Nullable public final Message<?> toMessage(ObjectSE payload, @Nullable MessageHeaders headers)
      インターフェースからコピーされた説明: MessageConverter
      ペイロードが指定されたペイロードオブジェクトを直列化された形式に変換した結果である Message を作成します。オプションの MessageHeaders パラメーターには、変換のターゲットメディア型を指定する MessageHeaders.CONTENT_TYPE ヘッダーを含めることができ、メッセージに追加する追加のヘッダーを含めることができます。

      コンバーターが指定されたメディア型をサポートしていないか、変換を実行できない場合は、null を返します。

      次で指定:
      インターフェース MessageConvertertoMessage 
      パラメーター:
      payload - 変換するオブジェクト
      headers - メッセージのオプションのヘッダー (null の場合があります)
      戻り値:
      新しいメッセージ、またはコンバーターがオブジェクト型またはターゲットメディア型をサポートしていない場合は null 
    • toMessage

      @Nullable public final Message<?> toMessage(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint)
      インターフェースからコピーされた説明: SmartMessageConverter
      引数として追加の変換コンテキストを使用する MessageConverter.toMessage(Object, MessageHeaders) のバリアント。たとえば、戻り値型のアノテーションが考慮されます。
      次で指定:
      インターフェース SmartMessageConvertertoMessage 
      パラメーター:
      payload - 変換するオブジェクト
      headers - メッセージのオプションのヘッダー (null の場合があります)
      conversionHint - MessageConverter に渡される追加のオブジェクト。関連する MethodParameter (null の場合があります。}
      戻り値:
      新しいメッセージ、またはコンバーターがオブジェクト型またはターゲットメディア型をサポートしていない場合は null 
      関連事項:
    • canConvertFrom

      protected boolean canConvertFrom(Message<?> message, ClassSE<?> targetClass)
    • canConvertTo

      protected boolean canConvertTo(ObjectSE payload, @Nullable MessageHeaders headers)
    • supportsMimeType

      protected boolean supportsMimeType(@Nullable MessageHeaders headers)
    • getMimeType

      @Nullable protected MimeType getMimeType(@Nullable MessageHeaders headers)
    • getDefaultContentType

      @Nullable protected MimeType getDefaultContentType(ObjectSE payload)
      ペイロードのデフォルトのコンテンツ型を返します。メッセージヘッダーなしまたはコンテンツ型ヘッダーなしで toMessage(Object, MessageHeaders) が呼び出されたときに呼び出されます。

      デフォルトでは、これは supportedMimeTypes の最初の要素を返します(存在する場合)。サブクラスでオーバーライドできます。

      パラメーター:
      payload - メッセージに変換されるペイロード
      戻り値:
      コンテンツ型、または不明の場合は null 
    • supports

      protected abstract boolean supports(ClassSE<?> clazz)
      指定されたクラスがこのコンバーターでサポートされているかどうか。
      パラメーター:
      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