SqlDateSerializer
Date: 2016-12-04

com.fasterxml.jackson.databind.ser.std

## Class SqlDateSerializer

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializer<T>
  - - com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
    - - com.fasterxml.jackson.databind.ser.std.StdScalarSerializer<T>
      - - com.fasterxml.jackson.databind.ser.std.DateTimeSerializerBase<java.sql.Date>
        - - com.fasterxml.jackson.databind.ser.std.SqlDateSerializer

- All Implemented Interfaces:
    JsonFormatVisitable, SchemaAware, ContextualSerializer, java.io.Serializable

      public class SqlDateSerializer
      extends DateTimeSerializerBase<java.sql.Date>

  Compared to regular `Date` serialization, we do use String representation here. Why? Basically to truncate of time part, since that should not be used by plain SQL date.
  See Also:
    Serialized Form

- - ### Nested Class Summary

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

      `JsonSerializer.None`

  - ### Field Summary

    - ### Fields inherited from class com.fasterxml.jackson.databind.ser.std.DateTimeSerializerBase

      `_customFormat, _useTimestamp`

    - ### Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      `_handledType`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `SqlDateSerializer()`
    `protected` | `SqlDateSerializer(java.lang.Boolean useTimestamp)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected long` | `_timestamp(java.sql.Date value)`
    `void` | `acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)` Default implementation specifies no format.
    `JsonNode` | `getSchema(SerializerProvider provider, java.lang.reflect.Type typeHint)` Default implementation simply claims type is "string"; usually overriden by custom serializers.
    `void` | `serialize(java.sql.Date value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider)` Method that can be called to ask implementation to serialize values of type this serializer handles.
    `SqlDateSerializer` | `withFormat(java.lang.Boolean timestamp, java.text.DateFormat customFormat)`

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.std.DateTimeSerializerBase

      `_acceptJsonFormatVisitor, _asTimestamp, createContextual, isEmpty, isEmpty`

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdScalarSerializer

      `serializeWithType`

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      `createObjectNode, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow`

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

      `getDelegatee, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SqlDateSerializer

          public SqlDateSerializer()

    - #### SqlDateSerializer

          protected SqlDateSerializer(java.lang.Boolean useTimestamp)

  - ### Method Detail

    - #### withFormat

          public SqlDateSerializer withFormat(java.lang.Boolean timestamp,
                                     java.text.DateFormat customFormat)

      Specified by:
        `withFormat` in class `DateTimeSerializerBase<java.sql.Date>`

    - #### _timestamp

          protected long _timestamp(java.sql.Date value)

      Specified by:
        `_timestamp` in class `DateTimeSerializerBase<java.sql.Date>`

    - #### serialize

          public void serialize(java.sql.Date value,
                       com.fasterxml.jackson.core.JsonGenerator gen,
                       SerializerProvider provider)
                         throws java.io.IOException,
                                com.fasterxml.jackson.core.JsonGenerationException

      Description copied from class: `JsonSerializer`
      Method that can be called to ask implementation to serialize values of type this serializer handles.
      Specified by:
        `serialize` in class `DateTimeSerializerBase<java.sql.Date>`
      Parameters:
        `value` - Value to serialize; can not be null.
        `gen` - Generator used to output resulting Json content
        `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonGenerationException`

    - #### getSchema

          public JsonNode getSchema(SerializerProvider provider,
                           java.lang.reflect.Type typeHint)

      Description copied from class: `StdSerializer`
      Default implementation simply claims type is "string"; usually overriden by custom serializers.
      Specified by:
        `getSchema` in interface `SchemaAware`
      Overrides:
        `getSchema` in class `DateTimeSerializerBase<java.sql.Date>`
      Parameters:
        `provider` - The serializer provider.
        `typeHint` - A hint about the type.
      Returns:
        Json-schema for this serializer.

    - #### acceptJsonFormatVisitor

          public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor,
                                     JavaType typeHint)
                                       throws JsonMappingException

      Description copied from class: `StdSerializer`
      Default implementation specifies no format. This behavior is usually overriden by custom serializers.
      Specified by:
        `acceptJsonFormatVisitor` in interface `JsonFormatVisitable`
      Overrides:
        `acceptJsonFormatVisitor` in class `DateTimeSerializerBase<java.sql.Date>`
        `typeHint` - Type of element (entity like property) being visited
      Throws:
        `JsonMappingException`