Class JSR310DateTimeDeserializerBase<T>

All Implemented Interfaces:
NullValueProvider, ValueInstantiator.Gettable
Direct Known Subclasses:
InstantDeserializer, LocalDateDeserializer, LocalDateTimeDeserializer, LocalTimeDeserializer, MonthDayDeserializer, MonthDeserializer, OffsetTimeDeserializer, YearDeserializer, YearMonthDeserializer

public abstract class JSR310DateTimeDeserializerBase<T> extends JSR310DeserializerBase<T>
  • Field Details

    • _formatter

      protected final DateTimeFormatter _formatter
    • _shape

      protected final com.fasterxml.jackson.annotation.JsonFormat.Shape _shape
      Setting that indicates the JsonFormat.Shape specified for this deserializer as a JsonFormat.Shape annotation on property or class, or due to per-type "config override", or from global settings: If Shape is NUMBER_INT, the input value is considered to be epoch days. If not a NUMBER_INT, and the deserializer was not specified with the leniency setting of true, then an exception will be thrown.
  • Constructor Details

  • Method Details

    • withDateFormat

      protected abstract JSR310DateTimeDeserializerBase<T> withDateFormat(DateTimeFormatter dtf)
    • withLeniency

      protected abstract JSR310DateTimeDeserializerBase<T> withLeniency(Boolean leniency)
      Specified by:
      withLeniency in class JSR310DeserializerBase<T>
    • withShape

      protected JSR310DateTimeDeserializerBase<T> withShape(com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
      The default implementation returns this, because shape is more likely applicable in case of the serialization, usage during deserialization could cover only very specific cases.
    • createContextual

      public ValueDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property)
      Description copied from class: ValueDeserializer
      Method called to see if a different (or differently configured) deserializer is needed to deserialize values of specified property. Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.
      Overrides:
      createContextual in class ValueDeserializer<T>
      Parameters:
      ctxt - Deserialization context to access configuration, additional deserializers that may be needed by this deserializer
      property - Method, field or constructor parameter that represents the property (and is used to assign deserialized value). Should be available; but there may be cases where caller cannot provide it and null is passed instead (in which case impls usually pass 'this' deserializer as is)
      Returns:
      Deserializer to use for deserializing values of specified property; may be this instance or a new instance.
    • _withFormatOverrides

      protected JSR310DateTimeDeserializerBase<?> _withFormatOverrides(DeserializationContext ctxt, BeanProperty property, com.fasterxml.jackson.annotation.JsonFormat.Value formatOverrides)
      Parameters:
      ctxt - Active deserialization context
      property - (optional) Property on which this deserializer is used, or null for root value
      formatOverrides - Format overrides to use (non-null)
      Returns:
      Either this deserializer as is, or newly constructed variant if created for different configuration
      Since:
      2.12.1
    • acceptCaseInsensitiveValues

      private boolean acceptCaseInsensitiveValues(DeserializationContext ctxt, com.fasterxml.jackson.annotation.JsonFormat.Value format)
    • _throwNoNumericTimestampNeedTimeZone

      protected <BOGUS> BOGUS _throwNoNumericTimestampNeedTimeZone(tools.jackson.core.JsonParser p, DeserializationContext ctxt) throws tools.jackson.core.JacksonException
      Throws:
      tools.jackson.core.JacksonException