Class RangeDeserializer
java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
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>
protected final RangeHelper.RangeProperties
protected final com.fasterxml.jackson.databind.JavaType
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) 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) 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
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:
-
_rangeType
protected final com.fasterxml.jackson.databind.JavaType _rangeType -
_endpointDeserializer
-
_defaultBoundType
protected final com.google.common.collect.BoundType _defaultBoundType -
_fieldNames
- Since:
- 2.10
-
-
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
protected RangeDeserializer(com.fasterxml.jackson.databind.JavaType rangeType, com.fasterxml.jackson.databind.JsonDeserializer<?> endpointDeser, com.google.common.collect.BoundType defaultBoundType, RangeHelper.RangeProperties fieldNames) - Since:
- 2.10
-
-
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
-
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
-
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
-