类 AbstractNamedValueArgumentResolver

java.lang.Object
cn.taketoday.web.service.invoker.AbstractNamedValueArgumentResolver
所有已实现的接口:
HttpServiceArgumentResolver
直接已知子类:
CookieValueArgumentResolver, PathVariableArgumentResolver, RequestAttributeArgumentResolver, RequestHeaderArgumentResolver, RequestParamArgumentResolver, RequestPartArgumentResolver

public abstract class AbstractNamedValueArgumentResolver extends Object implements HttpServiceArgumentResolver
Base class for arguments that resolve to a named request value such as a request header, path variable, cookie, and others.
从以下版本开始:
4.0
作者:
Rossen Stoyanchev
  • 字段详细资料

    • STRING_TARGET_TYPE

      private static final cn.taketoday.core.TypeDescriptor STRING_TARGET_TYPE
    • logger

      protected final cn.taketoday.logging.Logger logger
    • conversionService

      @Nullable private final cn.taketoday.core.conversion.ConversionService conversionService
    • namedValueInfoCache

      private final Map<cn.taketoday.core.MethodParameter,AbstractNamedValueArgumentResolver.NamedValueInfo> namedValueInfoCache
  • 构造器详细资料

    • AbstractNamedValueArgumentResolver

      protected AbstractNamedValueArgumentResolver(cn.taketoday.core.conversion.ConversionService conversionService)
      Constructor for a resolver to a String value.
      参数:
      conversionService - the ConversionService to use to format Object to String values
    • AbstractNamedValueArgumentResolver

      protected AbstractNamedValueArgumentResolver()
      Constructor for a resolver to an Object value, without conversion.
  • 方法详细资料

    • resolve

      public boolean resolve(@Nullable Object argument, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues)
      从接口复制的说明: HttpServiceArgumentResolver
      Resolve the argument value.
      指定者:
      resolve 在接口中 HttpServiceArgumentResolver
      参数:
      argument - the argument value
      parameter - the method parameter for the argument
      requestValues - builder to add HTTP request values to
      返回:
      true if the argument was resolved, false otherwise
    • getNamedValueInfo

      @Nullable private AbstractNamedValueArgumentResolver.NamedValueInfo getNamedValueInfo(cn.taketoday.core.MethodParameter parameter)
    • createNamedValueInfo

      @Nullable protected abstract AbstractNamedValueArgumentResolver.NamedValueInfo createNamedValueInfo(cn.taketoday.core.MethodParameter parameter)
      Return information about the request value, or null if the parameter does not represent a request value of interest.
    • updateNamedValueInfo

      private AbstractNamedValueArgumentResolver.NamedValueInfo updateNamedValueInfo(cn.taketoday.core.MethodParameter parameter, AbstractNamedValueArgumentResolver.NamedValueInfo info)
    • addSingleOrMultipleValues

      private void addSingleOrMultipleValues(String name, @Nullable Object value, boolean required, @Nullable Object defaultValue, String valueLabel, boolean supportsMultiValues, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues)
    • addSingleValue

      private void addSingleValue(String name, @Nullable Object value, boolean required, @Nullable Object defaultValue, String valueLabel, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues)
    • addRequestValue

      protected abstract void addRequestValue(String name, Object value, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues)
      Add the given, single request value. This may be called multiples times if the request value is multivalued.

      If the resolver was created with a ConversionService, the value will have been converted to a String and may be cast down.

      参数:
      name - the request value name
      value - the value
      parameter - the method parameter type, nested if Map, List/array, or Optional
      requestValues - builder to add the request value to