类 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
-
嵌套类概要
嵌套类修饰符和类型类说明protected static classInfo about a request value, typically extracted from a method parameter annotation. -
字段概要
字段修饰符和类型字段说明private final cn.taketoday.core.conversion.ConversionServiceprotected final cn.taketoday.logging.Loggerprivate final Map<cn.taketoday.core.MethodParameter,AbstractNamedValueArgumentResolver.NamedValueInfo> private static final cn.taketoday.core.TypeDescriptor -
构造器概要
构造器限定符构造器说明protectedConstructor for a resolver to an Object value, without conversion.protectedAbstractNamedValueArgumentResolver(cn.taketoday.core.conversion.ConversionService conversionService) Constructor for a resolver to a String value. -
方法概要
修饰符和类型方法说明protected abstract voidaddRequestValue(String name, Object value, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues) Add the given, single request value.private voidaddSingleOrMultipleValues(String name, Object value, boolean required, Object defaultValue, String valueLabel, boolean supportsMultiValues, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues) private voidaddSingleValue(String name, Object value, boolean required, Object defaultValue, String valueLabel, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues) protected abstract AbstractNamedValueArgumentResolver.NamedValueInfocreateNamedValueInfo(cn.taketoday.core.MethodParameter parameter) Return information about the request value, ornullif the parameter does not represent a request value of interest.getNamedValueInfo(cn.taketoday.core.MethodParameter parameter) booleanresolve(Object argument, cn.taketoday.core.MethodParameter parameter, HttpRequestValues.Builder requestValues) Resolve the argument value.updateNamedValueInfo(cn.taketoday.core.MethodParameter parameter, AbstractNamedValueArgumentResolver.NamedValueInfo info)
-
字段详细资料
-
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- theConversionServiceto 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) 从接口复制的说明:HttpServiceArgumentResolverResolve the argument value.- 指定者:
resolve在接口中HttpServiceArgumentResolver- 参数:
argument- the argument valueparameter- the method parameter for the argumentrequestValues- builder to add HTTP request values to- 返回:
trueif the argument was resolved,falseotherwise
-
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, ornullif 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 namevalue- the valueparameter- the method parameter type, nested if Map, List/array, or OptionalrequestValues- builder to add the request value to
-