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.Object
Abstract 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>
convertedDefaultValue
private java.lang.String
defaultValueString
private javax.ws.rs.ext.ParamConverter<T>
paramConverter
private java.lang.String
parameterName
-
Constructor Summary
Constructors Modifier Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private T
convert(java.lang.String value)
protected T
defaultValue()
Get converted default value.protected T
fromString(java.lang.String value)
Extract parameter value from string using the configuredparameter converter
.java.lang.String
getDefaultValueString()
Get the default string value of the parameter.java.lang.String
getName()
Get the name of the parameter this extractor belongs to.protected boolean
isDefaultValueRegistered()
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.Lazy
annotation 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
. AWebApplicationException
thrown from the converter is propagated unchanged. Any other exception throws by the converter is wrapped in a newExtractorException
before 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:
true
if there is a default parameter string value registered,false
otherwise.
-
defaultValue
protected final T defaultValue()
Get converted default value. The conversion happens lazily during first call of the method.- Returns:
- converted default value.
-
-