Class RangeDeserializer
java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<com.google.common.collect.Range<?>>
com.fasterxml.jackson.databind.deser.std.StdDeserializer<com.google.common.collect.Range<?>>
com.fasterxml.jackson.datatype.guava.deser.RangeDeserializer
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.ContextualDeserializer
,com.fasterxml.jackson.databind.deser.NullValueProvider
,com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable
,Serializable
public class RangeDeserializer
extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<com.google.common.collect.Range<?>>
implements com.fasterxml.jackson.databind.deser.ContextualDeserializer
Jackson deserializer for a Guava
Range
.
TODO: I think it would make sense to reimplement this deserializer to
use Delegating Deserializer, using a POJO as an intermediate form (properties
could be of type Object
)
This would also also simplify the implementation a bit.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
com.fasterxml.jackson.databind.JsonDeserializer.None
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.google.common.collect.BoundType
protected final com.fasterxml.jackson.databind.JsonDeserializer
<Object> Deserializer used when getting JSON Object representationprotected final RangeHelper.RangeProperties
protected final com.fasterxml.jackson.databind.KeyDeserializer
Deserializer used when getting JSON String (inline) representation.protected final com.fasterxml.jackson.databind.JavaType
protected final com.fasterxml.jackson.annotation.JsonFormat.Shape
protected static final Pattern
private static final long
Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
-
Constructor Summary
ConstructorsModifierConstructorDescriptionRangeDeserializer
(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser) Deprecated.RangeDeserializer
(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType) Deprecated.protected
RangeDeserializer
(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType, RangeHelper.RangeProperties fieldNames) Deprecated.Since 2.17 use other constructor(s)protected
RangeDeserializer
(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType, RangeHelper.RangeProperties fieldNames, com.fasterxml.jackson.annotation.JsonFormat.Shape shape, com.fasterxml.jackson.databind.KeyDeserializer fromStringDeserializer) RangeDeserializer
(com.google.common.collect.BoundType defaultBoundType, com.fasterxml.jackson.databind.JavaType rangeType) -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.JsonDeserializer
<?> createContextual
(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property) com.google.common.collect.Range
<?> deserialize
(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext context) private com.google.common.collect.BoundType
deserializeBoundType
(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonParser p) private Comparable
<?> deserializeEndpoint
(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonParser p) private com.google.common.collect.Range
<?> deserializeRangeFromString
(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonParser p) private Comparable
<?> deserializeStringified
(com.fasterxml.jackson.databind.DeserializationContext context, String value) deserializeWithType
(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer) private void
expect
(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonToken expected, com.fasterxml.jackson.core.JsonToken actual) com.fasterxml.jackson.databind.JavaType
private boolean
isValidBracketNotation
(String range) com.fasterxml.jackson.databind.type.LogicalType
Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_byteOverflow, _checkBooleanToStringCoercion, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFloatToStringCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkIntToFloatCoercion, _checkIntToStringCoercion, _checkTextualNull, _checkToStringCoercion, _coerceBooleanFromInt, _coercedTypeDesc, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeFromEmptyString, _deserializeFromString, _deserializeWrappedValue, _failDoubleToIntCoercion, _findCoercionFromBlankString, _findCoercionFromEmptyArray, _findCoercionFromEmptyString, _findNullProvider, _hasTextualNull, _intOverflow, _isBlank, _isEmptyOrTextualNull, _isFalse, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _isTrue, _neitherNull, _nonNullNumber, _parseBoolean, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDouble, _parseDouble, _parseDoublePrimitive, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueInstantiator, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, supportsUpdate, unwrappingDeserializer
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
PATTERN_DOUBLE_DOT
-
_rangeType
protected final com.fasterxml.jackson.databind.JavaType _rangeType -
_endpointDeserializer
Deserializer used when getting JSON Object representation -
_fromStringDeserializer
protected final com.fasterxml.jackson.databind.KeyDeserializer _fromStringDeserializerDeserializer used when getting JSON String (inline) representation.- Since:
- 2.17
-
_defaultBoundType
protected final com.google.common.collect.BoundType _defaultBoundType -
_fieldNames
- Since:
- 2.10
-
_shape
protected final com.fasterxml.jackson.annotation.JsonFormat.Shape _shape- Since:
- 2.17
-
-
Constructor Details
-
RangeDeserializer
public RangeDeserializer(com.google.common.collect.BoundType defaultBoundType, com.fasterxml.jackson.databind.JavaType rangeType) -
RangeDeserializer
@Deprecated public RangeDeserializer(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser) Deprecated. -
RangeDeserializer
@Deprecated public RangeDeserializer(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType) Deprecated. -
RangeDeserializer
@Deprecated protected RangeDeserializer(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType, RangeHelper.RangeProperties fieldNames) Deprecated.Since 2.17 use other constructor(s)- Since:
- 2.10
-
RangeDeserializer
protected RangeDeserializer(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType, RangeHelper.RangeProperties fieldNames, com.fasterxml.jackson.annotation.JsonFormat.Shape shape, com.fasterxml.jackson.databind.KeyDeserializer fromStringDeserializer) - Since:
- 2.17
-
-
Method Details
-
getValueType
public com.fasterxml.jackson.databind.JavaType getValueType()- Overrides:
getValueType
in classcom.fasterxml.jackson.databind.deser.std.StdDeserializer<com.google.common.collect.Range<?>>
-
logicalType
public com.fasterxml.jackson.databind.type.LogicalType logicalType()- Overrides:
logicalType
in classcom.fasterxml.jackson.databind.JsonDeserializer<com.google.common.collect.Range<?>>
-
createContextual
public com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property) throws com.fasterxml.jackson.databind.JsonMappingException - Specified by:
createContextual
in interfacecom.fasterxml.jackson.databind.deser.ContextualDeserializer
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
deserializeWithType
public Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer) throws IOException - Overrides:
deserializeWithType
in classcom.fasterxml.jackson.databind.deser.std.StdDeserializer<com.google.common.collect.Range<?>>
- Throws:
IOException
-
deserialize
public com.google.common.collect.Range<?> deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext context) throws IOException - Specified by:
deserialize
in classcom.fasterxml.jackson.databind.JsonDeserializer<com.google.common.collect.Range<?>>
- Throws:
IOException
-
deserializeRangeFromString
private com.google.common.collect.Range<?> deserializeRangeFromString(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonParser p) throws IOException - Throws:
IOException
-
deserializeBoundType
private com.google.common.collect.BoundType deserializeBoundType(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonParser p) throws IOException - Throws:
IOException
-
deserializeEndpoint
private Comparable<?> deserializeEndpoint(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonParser p) throws IOException - Throws:
IOException
-
deserializeStringified
private Comparable<?> deserializeStringified(com.fasterxml.jackson.databind.DeserializationContext context, String value) throws IOException - Throws:
IOException
-
expect
private void expect(com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.JsonToken expected, com.fasterxml.jackson.core.JsonToken actual) throws com.fasterxml.jackson.databind.JsonMappingException - Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
isValidBracketNotation
-