クラス AbstractHeaderMapper<T>

java.lang.ObjectSE
org.springframework.integration.mapping.AbstractHeaderMapper<T>
型パラメーター:
T - ターゲットヘッダーコンテナー型。
実装されているすべてのインターフェース:
AwareBeanClassLoaderAwareRequestReplyHeaderMapper<T>
既知の直属サブクラス
DefaultAmqpHeaderMapperDefaultSoapHeaderMapperDefaultXmppHeaderMapper

public abstract class AbstractHeaderMapper<T> extends ObjectSE implements RequestReplyHeaderMapper<T>, BeanClassLoaderAware
RequestReplyHeaderMapper 実装の抽象基本クラス。
導入:
2.1
作成者:
Mark Fisher, Oleg Zhurakousky, Stephane Nicoll, Gary Russell, Artem Bilan
  • フィールドの詳細

    • STANDARD_REQUEST_HEADER_NAME_PATTERN

      public static final StringSE STANDARD_REQUEST_HEADER_NAME_PATTERN
      標準のリクエストヘッダーにのみ一致する特別なパターン。
      関連事項:
    • STANDARD_REPLY_HEADER_NAME_PATTERN

      public static final StringSE STANDARD_REPLY_HEADER_NAME_PATTERN
      標準の応答ヘッダーにのみ一致する特別なパターン。
      関連事項:
    • NON_STANDARD_HEADER_NAME_PATTERN

      public static final StringSE NON_STANDARD_HEADER_NAME_PATTERN
      標準ヘッダーではないヘッダーに一致する特別なパターン (つまり、構成された標準ヘッダープレフィックスで始まらないヘッダー)
      関連事項:
    • logger

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

    • AbstractHeaderMapper

      protected AbstractHeaderMapper(StringSE standardHeaderPrefix, CollectionSE<StringSE> requestHeaderNames, CollectionSE<StringSE> replyHeaderNames)
      新しいインスタンスを作成します。
      パラメーター:
      standardHeaderPrefix - 標準ヘッダーを識別するヘッダープレフィックス。このようなプレフィックスは、ユーザー定義のヘッダーを標準のヘッダーと区別できます。設定されている場合、ユーザー定義のヘッダーもデフォルトでマップされます
      requestHeaderNames - リクエストから MessageHeaders にマップする必要のあるヘッダー名
      replyHeaderNames - MessageHeaders からのレスポンスにマップする必要があるヘッダー名
  • メソッドの詳細

    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoaderSE classLoader)
      次で指定:
      インターフェース BeanClassLoaderAwaresetBeanClassLoader 
    • getClassLoader

      protected ClassLoaderSE getClassLoader()
    • setRequestHeaderNames

      public void setRequestHeaderNames(StringSE... requestHeaderNames)
      リクエストから MessageHeaders にマップする必要のあるヘッダー名を指定します。

      値には、照合する単純なワイルドカードパターン( "foo *" や "* foo" など)を含めることもできます。

      パラメーター:
      requestHeaderNames - リクエストヘッダー名。
    • setReplyHeaderNames

      public void setReplyHeaderNames(StringSE... replyHeaderNames)
      MessageHeaders からのレスポンスにマップする必要があるヘッダー名を指定します。

      値には、照合する単純なワイルドカードパターン( "foo *" や "* foo" など)を含めることもできます。

      パラメーター:
      replyHeaderNames - 応答ヘッダー名。
    • createDefaultHeaderMatcher

      protected AbstractHeaderMapper.HeaderMatcher createDefaultHeaderMatcher(StringSE standardHeaderPrefix, CollectionSE<StringSE> headerNames)
      指定されたヘッダーと標準ヘッダープレフィックスに基づいて、最初の AbstractHeaderMapper.HeaderMatcher を作成します。
      パラメーター:
      standardHeaderPrefix - 標準ヘッダーのプレフィックス。
      headerNames - マップするヘッダー名のコレクション。
      戻り値:
      デフォルトの AbstractHeaderMapper.HeaderMatcher インスタンス。
    • createHeaderMatcher

      protected AbstractHeaderMapper.HeaderMatcher createHeaderMatcher(CollectionSE<StringSE> patterns)
      指定された patterns のいずれかが一致する場合に一致する AbstractHeaderMapper.HeaderMatcher を作成します。パターンには、ヘッダー名、foo**foowithin*foo などのワイルドカードパターンを使用できます。

      STANDARD_REQUEST_HEADER_NAME_PATTERNSTANDARD_REQUEST_HEADER_NAME_PATTERNNON_STANDARD_HEADER_NAME_PATTERN などの特別なパターンも認識されます。

      パラメーター:
      patterns - 適用するパターン
      戻り値:
      指定されたパターンのいずれかが一致する場合に一致するヘッダーマッパー
    • fromHeadersToRequest

      public void fromHeadersToRequest(MessageHeaders headers, T target)
      インターフェースからコピーされた説明: RequestReplyHeaderMapper
      指定された MessageHeaders から指定されたリクエストターゲットにマップします。
      次で指定:
      インターフェース RequestReplyHeaderMapper<T>fromHeadersToRequest 
      パラメーター:
      headers - 抽象化された MessageHeaders
      target - ネイティブターゲットリクエスト
    • fromHeadersToReply

      public void fromHeadersToReply(MessageHeaders headers, T target)
      インターフェースからコピーされた説明: RequestReplyHeaderMapper
      指定された MessageHeaders から指定された応答ターゲットにマップします。
      次で指定:
      インターフェース RequestReplyHeaderMapper<T>fromHeadersToReply 
      パラメーター:
      headers - 抽象化された MessageHeaders
      target - ネイティブターゲットの返信
    • toHeadersFromRequest

      public MapSE<StringSE,ObjectSE> toHeadersFromRequest(T source)
      インターフェースからコピーされた説明: RequestReplyHeaderMapper
      指定されたリクエストオブジェクトから抽象化された MessageHeaders にマップします。
      次で指定:
      インターフェース RequestReplyHeaderMapper<T>toHeadersFromRequest 
      パラメーター:
      source - ネイティブターゲットリクエスト
      戻り値:
      抽象化された MessageHeaders
    • toHeadersFromReply

      public MapSE<StringSE,ObjectSE> toHeadersFromReply(T source)
      インターフェースからコピーされた説明: RequestReplyHeaderMapper
      指定された応答オブジェクトから抽象化された MessageHeaders にマップします。
      次で指定:
      インターフェース RequestReplyHeaderMapper<T>toHeadersFromReply 
      パラメーター:
      source - ネイティブターゲットの返信
      戻り値:
      抽象化された MessageHeaders
    • getHeaderIfAvailable

      @Nullable protected <V> V getHeaderIfAvailable(MapSE<StringSE,ObjectSE> headers, StringSE name, ClassSE<V> type)
    • createTargetPropertyName

      protected StringSE createTargetPropertyName(StringSE propertyName, boolean fromMessageHeaders)
      必要に応じて、指定された propertyName を変更します。デフォルトでは、元の propertyName が返されます。
      パラメーター:
      propertyName - プロパティの元の名前。
      fromMessageHeaders - プロパティが MessageHeaders インスタンスから発生するか(true)、このマッパーによって管理される型から発生するか(false)を指定します。
      戻り値:
      マッピングのプロパティ名。
    • getTransientHeaderNames

      protected CollectionSE<StringSE> getTransientHeaderNames()
      一時ヘッダー名を返します。一時ヘッダーがマップされることはありません。
      戻り値:
      マッピングからスキップされるヘッダーの名前。
    • extractStandardHeaders

      protected abstract MapSE<StringSE,ObjectSE> extractStandardHeaders(T source)
      指定されたソースから標準ヘッダーを抽出します。
      パラメーター:
      source - 標準ヘッダーを抽出するためのソースオブジェクト。
      戻り値:
      マップされるヘッダーのマップ。
    • extractUserDefinedHeaders

      protected abstract MapSE<StringSE,ObjectSE> extractUserDefinedHeaders(T source)
      指定されたソースからユーザー定義ヘッダーを抽出します。
      パラメーター:
      source - ユーザー定義のヘッダーを抽出するためのソースオブジェクト。
      戻り値:
      マップされるヘッダーのマップ。
    • populateStandardHeaders

      protected abstract void populateStandardHeaders(MapSE<StringSE,ObjectSE> headers, T target)
      指定された標準ヘッダーを指定されたソースに入力します。
      パラメーター:
      headers - 入力する標準ヘッダーのマップ。
      target - ヘッダーを設定するターゲットオブジェクト。
    • populateStandardHeaders

      protected void populateStandardHeaders(@Nullable MapSE<StringSE,ObjectSE> allHeaders, MapSE<StringSE,ObjectSE> subset, T target)
      指定された標準ヘッダーを指定されたソースに入力します。実装されていない場合は、populateStandardHeaders(Map, Object) を呼び出します。
      パラメーター:
      allHeaders - トランジェントを含むすべてのヘッダー。
      subset - 入力する標準ヘッダーのマップ。
      target - ヘッダーを設定するターゲットオブジェクト。
      導入:
      5.1
    • populateUserDefinedHeader

      protected abstract void populateUserDefinedHeader(StringSE headerName, ObjectSE headerValue, T target)
      指定されたユーザー定義ヘッダーを指定されたソースに入力します。
      パラメーター:
      headerName - 入力するユーザー定義のヘッダー名。
      headerValue - 入力するユーザー定義のヘッダー値。
      target - ヘッダーを設定するターゲットオブジェクト。