Class JdbcDateJavaType

All Implemented Interfaces:
Serializable, BasicJavaType<Date>, JavaType<Date>, TemporalJavaType<Date>

public class JdbcDateJavaType extends AbstractTemporalJavaType<Date>
Descriptor for Date handling.
See Also:
Implementation Specification:
Unlike most JavaType implementations, can handle 2 different "domain representations" (most map just a single type): general Date values in addition to Date values. This capability is shared with JdbcTimeJavaType and JdbcTimestampJavaType.
  • Field Details

  • Constructor Details

    • JdbcDateJavaType

      public JdbcDateJavaType()
  • Method Details

    • getPrecision

      public TemporalType getPrecision()
      Description copied from interface: TemporalJavaType
      The precision represented by this type
    • isInstance

      public boolean isInstance(Object value)
      Description copied from interface: JavaType
      Is the given value an instance of the described type?

      Usually just getJavaTypeClass().isInstance(value), but some descriptors need specialized semantics, for example, the descriptors for java.sql.Date, java.sql.Time, and java.sql.Timestamp.

    • areEqual

      public boolean areEqual(Date one, Date another)
      Description copied from interface: JavaType
      Determine if two instances are equal
      Specified by:
      areEqual in interface JavaType<Date>
      Overrides:
      areEqual in class AbstractClassJavaType<Date>
      Parameters:
      one - One instance
      another - The other instance
      Returns:
      True if the two are considered equal; false otherwise.
    • extractHashCode

      public int extractHashCode(Date value)
      Description copied from interface: JavaType
      Extract a proper hash code for the given value.
      Specified by:
      extractHashCode in interface JavaType<Date>
      Overrides:
      extractHashCode in class AbstractClassJavaType<Date>
      Parameters:
      value - The value for which to extract a hash code.
      Returns:
      The extracted hash code.
    • coerce

      public Date coerce(Object value, JavaType.CoercionContext coercionContext)
    • unwrap

      public Object unwrap(Date value, Class type, WrapperOptions options)
      Description copied from interface: JavaType
      Unwrap an instance of our handled Java type into the requested type.

      As an example, if this is a JavaType<Integer> and we are asked to unwrap the Integer value as a Long, we would return something like Long.valueOf( value.longValue() ).

      Intended use is during PreparedStatement binding.

      Parameters:
      value - The value to unwrap
      type - The type as which to unwrap
      options - The options
      Returns:
      The unwrapped value.
    • wrap

      public Date wrap(Object value, WrapperOptions options)
      Description copied from interface: JavaType
      Wrap a value as our handled Java type.

      Intended use is during ResultSet extraction.

      Parameters:
      value - The value to wrap.
      options - The options
      Returns:
      The wrapped value.
    • toString

      public String toString(Date value)
    • fromString

      public Date fromString(CharSequence string)
    • fromEncodedString

      public Date fromEncodedString(CharSequence charSequence, int start, int end)
      Description copied from interface: JavaType
      Reads the encoded value from the char sequence start index until the end index and returns the decoded value. Implementers do not need to care about escaping. This is similar to JavaType.fromString(CharSequence), with the difference that the aim of this method is decoding from a range within an existing char sequence.
    • appendEncodedString

      public void appendEncodedString(SqlAppender sb, Date value)
      Description copied from interface: JavaType
      Appends the value to the SqlAppender in an encoded format that can be decoded again by JavaType.fromEncodedString(CharSequence, int, int). Implementers do not need to care about escaping. This is similar to JavaType.toString(Object), with the difference that the aim of this method is encoding to the appender.
    • getRecommendedJdbcType

      public JdbcType getRecommendedJdbcType(JdbcTypeIndicators context)
      Description copied from interface: BasicJavaType
      Obtain the "recommended" SQL type descriptor for this Java type. Often, but not always, the source of this recommendation is the JDBC specification.
      Parameters:
      context - Contextual information
      Returns:
      The recommended SQL type descriptor
    • forDatePrecision

      protected <X> TemporalJavaType<X> forDatePrecision(TypeConfiguration typeConfiguration)
      Overrides:
      forDatePrecision in class AbstractTemporalJavaType<Date>