クラス AbstractArgumentMethodArgumentResolver

java.lang.ObjectSE
org.springframework.shell.support.AbstractArgumentMethodArgumentResolver
実装されたすべてのインターフェース:
org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver
既知の直属サブクラス
ArgumentHeaderMethodArgumentResolverOptionMethodArgumentResolverShellOptionMethodArgumentResolver

public abstract class AbstractArgumentMethodArgumentResolver extends ObjectSE implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver
名前付きの値からメソッド引数を解決するための抽象基本クラス。メッセージヘッダーまたは宛先変数。名前付き値には、1 つ以上の名前、必須フラグ、デフォルト値を含めることができます。

サブクラスは、メソッドパラメーターから名前付き値の詳細を取得する方法、引数値に解決する方法、欠落している値を処理する方法など、特定の手順を定義するだけで済みます。

デフォルト値の文字列には、${...} プレースホルダーと Spring 式言語 #{...} 式を含めることができます。これらは、ConfigurableBeanFactory がクラスコンストラクターに提供された場合に解決されます。

ConversionService は、解決された String 引数値を、予期されるターゲットメソッドパラメーター型に変換するために使用されます。

  • フィールドの詳細

  • コンストラクターの詳細

    • AbstractArgumentMethodArgumentResolver

      protected AbstractArgumentMethodArgumentResolver(org.springframework.core.convert.ConversionService conversionService, @Nullable org.springframework.beans.factory.config.ConfigurableBeanFactory beanFactory)
      ConversionService および BeanFactory を持つコンストラクター。
      パラメーター:
      conversionService - 文字列値をターゲットメソッドパラメーター型に変換するための変換サービス
      beanFactory - ${...} プレースホルダーと #{...} SpEL 式をデフォルト値で解決するための Bean ファクトリ
  • メソッドの詳細

    • resolveArgument

      public ObjectSE resolveArgument(org.springframework.core.MethodParameter parameter, org.springframework.messaging.Message<?> message) throws ExceptionSE
      次で指定:
      インターフェース org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverresolveArgument 
      例外:
      ExceptionSE
    • createNamedValueInfo

      protected abstract AbstractArgumentMethodArgumentResolver.NamedValueInfo createNamedValueInfo(org.springframework.core.MethodParameter parameter)
      指定されたメソッドパラメーターの AbstractArgumentMethodArgumentResolver.NamedValueInfo オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class) を使用してメソッドアノテーションを取得します。
      パラメーター:
      parameter - メソッドパラメーター
      戻り値:
      名前付き値の情報
    • resolveArgumentInternal

      @Nullable protected abstract ObjectSE resolveArgumentInternal(org.springframework.core.MethodParameter parameter, org.springframework.messaging.Message<?> message, ListSE<StringSE> names) throws ExceptionSE
      指定されたパラメーターの型と値の名前を引数値に解決します。
      パラメーター:
      parameter - 引数値に解決するメソッドパラメーター
      message - 現在のリクエスト
      names - 解決される値の名前
      戻り値:
      解決された引数。null の可能性があります
      例外:
      ExceptionSE - エラーの場合
    • handleMissingValue

      protected abstract void handleMissingValue(ListSE<StringSE> names, org.springframework.core.MethodParameter parameter, org.springframework.messaging.Message<?> message)
      値が必要な場合に呼び出されますが、resolveArgumentInternal(org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>, java.util.List<java.lang.String>) は null を返し、デフォルト値はありません。この場合、サブクラスは適切な例外をスローできます。
      パラメーター:
      names - 値の名前
      parameter - ターゲットメソッドのパラメーター
      message - 処理中のメッセージ
    • handleResolvedValue

      protected void handleResolvedValue(@Nullable ObjectSE arg, ListSE<StringSE> name, org.springframework.core.MethodParameter parameter, org.springframework.messaging.Message<?> message)
      値が解決された後に呼び出されます。
      パラメーター:
      arg - 解決された引数値
      name - 引数名
      parameter - 引数パラメーターの型
      message - メッセージ