Class AbstractParamValueExtractor<T>
- java.lang.Object
-
- org.glassfish.jersey.server.internal.inject.AbstractParamValueExtractor<T>
-
- Direct Known Subclasses:
CollectionExtractor,SingleValueExtractor
abstract class AbstractParamValueExtractor<T> extends java.lang.ObjectAbstract base class for implementing multivalued parameter value extractor logic supplied usingparameter converters.
-
-
Field Summary
Fields Modifier and Type Field Description private UnsafeValue<T,java.lang.RuntimeException>convertedDefaultValueprivate java.lang.StringdefaultValueStringprivate javax.ws.rs.ext.ParamConverter<T>paramConverterprivate java.lang.StringparameterName
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractParamValueExtractor(javax.ws.rs.ext.ParamConverter<T> converter, java.lang.String parameterName, java.lang.String defaultValueString)Constructor that initializes common string reader-based parameter extractor data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private Tconvert(java.lang.String value)protected TdefaultValue()Get converted default value.protected TfromString(java.lang.String value)Extract parameter value from string using the configuredparameter converter.java.lang.StringgetDefaultValueString()Get the default string value of the parameter.java.lang.StringgetName()Get the name of the parameter this extractor belongs to.protected booleanisDefaultValueRegistered()Check if there is a default string value registered for the parameter.
-
-
-
Field Detail
-
paramConverter
private final javax.ws.rs.ext.ParamConverter<T> paramConverter
-
parameterName
private final java.lang.String parameterName
-
defaultValueString
private final java.lang.String defaultValueString
-
convertedDefaultValue
private final UnsafeValue<T,java.lang.RuntimeException> convertedDefaultValue
-
-
Constructor Detail
-
AbstractParamValueExtractor
protected AbstractParamValueExtractor(javax.ws.rs.ext.ParamConverter<T> converter, java.lang.String parameterName, java.lang.String defaultValueString)
Constructor that initializes common string reader-based parameter extractor data. As part of the initialization, the default value validation is performed based on the presence and value of theParamConverter.Lazyannotation on the supplied string value reader class.- Parameters:
converter- parameter converter.parameterName- name of the parameter.defaultValueString- default parameter value string.
-
-
Method Detail
-
getName
public java.lang.String getName()
Get the name of the parameter this extractor belongs to.- Returns:
- parameter name.
-
getDefaultValueString
public java.lang.String getDefaultValueString()
Get the default string value of the parameter.- Returns:
- default parameter string value.
-
fromString
protected final T fromString(java.lang.String value)
Extract parameter value from string using the configuredparameter converter. AWebApplicationExceptionthrown from the converter is propagated unchanged. Any other exception throws by the converter is wrapped in a newExtractorExceptionbefore rethrowing.- Parameters:
value- parameter string value to be converted/extracted.- Returns:
- extracted value of a given Java type.
- Throws:
javax.ws.rs.WebApplicationException- in case the underlying parameter converter throws aWebApplicationException. The exception is rethrown without a change.ExtractorException- wrapping any other exception thrown by the parameter converter.
-
convert
private T convert(java.lang.String value)
-
isDefaultValueRegistered
protected final boolean isDefaultValueRegistered()
Check if there is a default string value registered for the parameter.- Returns:
trueif there is a default parameter string value registered,falseotherwise.
-
defaultValue
protected final T defaultValue()
Get converted default value. The conversion happens lazily during first call of the method.- Returns:
- converted default value.
-
-