Class BasicGeneralDatumDeserializer

java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer<Datum>
net.solarnetwork.codec.BasicGeneralDatumDeserializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider, Serializable

public class BasicGeneralDatumDeserializer extends com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer<Datum> implements Serializable
Deserializer for Datum objects

Supports both "direct" and "nested" style of sample properties. For example a direct style looks like:

 
 {"created":"2021-08-17 14:28:12.345Z","sourceId":"foo","i":{"watts":123}}
 
 

while the nested style looks like:

 
 {"created":3801091820980,"sourceId":"foo","samples":{"i":{"watts":123}}}
 
 
Since:
1.78
Version:
2.0
Author:
matt
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    com.fasterxml.jackson.databind.JsonDeserializer.None
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.fasterxml.jackson.databind.JsonDeserializer<Datum>
    A default instance.

    Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

    _valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)
     

    Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer

    deserialize, deserializeWithType, getEmptyAccessPattern, getNullAccessPattern, supportsUpdate

    Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

    _byteOverflow, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeWrappedValue, _failDoubleToIntCoercion, _findNullProvider, _hasTextualNull, _intOverflow, _isEmptyOrTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _neitherNull, _nonNullNumber, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseIntPrimitive, _parseIntPrimitive, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble

    Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    deserializeWithType, findBackReference, getDelegatee, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • INSTANCE

      public static final com.fasterxml.jackson.databind.JsonDeserializer<Datum> INSTANCE
      A default instance.
  • Constructor Details

    • BasicGeneralDatumDeserializer

      public BasicGeneralDatumDeserializer()
      Constructor.
  • Method Details

    • deserialize

      public Datum deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
      Specified by:
      deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<Datum>
      Throws:
      IOException
      com.fasterxml.jackson.core.JsonProcessingException