DateDeserializers.DateBasedDeserializer
Date: 2016-12-04

com.fasterxml.jackson.databind.deser.std

## Class DateDeserializers.DateBasedDeserializer<T>

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonDeserializer<T>
  - - com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
    - - com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer<T>
      - - com.fasterxml.jackson.databind.deser.std.DateDeserializers.DateBasedDeserializer<T>

- All Implemented Interfaces:
    ContextualDeserializer, java.io.Serializable
  Direct Known Subclasses:
    DateDeserializers.CalendarDeserializer, DateDeserializers.DateDeserializer, DateDeserializers.SqlDateDeserializer, DateDeserializers.TimestampDeserializer
  Enclosing class:
    DateDeserializers

      protected abstract static class DateDeserializers.DateBasedDeserializer<T>
      extends StdScalarDeserializer<T>
      implements ContextualDeserializer

  See Also:
    Serialized Form

- - ### Nested Class Summary

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

      `JsonDeserializer.None`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.text.DateFormat` | `_customFormat` Specific format to use, if non-null; if null will just use default format.
    `protected java.lang.String` | `_formatString` Let's also keep format String for reference, to use for error messages

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

      `_valueClass, F_MASK_INT_COERCIONS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `DateDeserializers.DateBasedDeserializer(java.lang.Class<?> clz)`
    `protected` | `DateDeserializers.DateBasedDeserializer(DateDeserializers.DateBasedDeserializer<T> base, java.text.DateFormat format, java.lang.String formatStr)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.util.Date` | `_parseDate(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
    `JsonDeserializer<?>` | `createContextual(DeserializationContext ctxt, BeanProperty property)` Method called to see if a different (or differently configured) deserializer is needed to deserialize values of specified property.
    `protected abstract DateDeserializers.DateBasedDeserializer<T>` | `withDateFormat(java.text.DateFormat df, java.lang.String formatStr)`

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

      `deserializeWithType`

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

      `_coerceIntegral, _deserializeFromEmpty, _failDoubleToIntCoercion, _hasTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _parseBoolean, _parseBooleanFromInt, _parseBooleanFromOther, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, _parseString, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, getValueClass, getValueType, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble`

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

      `deserialize, deserialize, 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 Detail

    - #### _customFormat

          protected final java.text.DateFormat _customFormat

      Specific format to use, if non-null; if null will just use default format.

    - #### _formatString

          protected final java.lang.String _formatString

      Let's also keep format String for reference, to use for error messages

  - ### Constructor Detail

    - #### DateDeserializers.DateBasedDeserializer

          protected DateDeserializers.DateBasedDeserializer(java.lang.Class<?> clz)

    - #### DateDeserializers.DateBasedDeserializer

          protected DateDeserializers.DateBasedDeserializer(DateDeserializers.DateBasedDeserializer<T> base,
                                                 java.text.DateFormat format,
                                                 java.lang.String formatStr)

  - ### Method Detail

    - #### withDateFormat

          protected abstract DateDeserializers.DateBasedDeserializer<T> withDateFormat(java.text.DateFormat df,
                                                                  java.lang.String formatStr)

    - #### createContextual

          public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
                                             BeanProperty property)
                                               throws JsonMappingException

      Description copied from interface: `ContextualDeserializer`
      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.
      Specified by:
        `createContextual` in interface `ContextualDeserializer`
      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 can not 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.
      Throws:
        `JsonMappingException`

    - #### _parseDate

          protected java.util.Date _parseDate(com.fasterxml.jackson.core.JsonParser p,
                                  DeserializationContext ctxt)
                                       throws java.io.IOException

      Overrides:
        `_parseDate` in class `StdDeserializer<T>`
      Throws:
        `java.io.IOException`