Class Timestamp

java.lang.Object
io.debezium.time.Timestamp

public class Timestamp extends Object
A utility for converting various Java time representations into the signed INT64 number of milliseconds past epoch, and for defining a Kafka Connect Schema for timestamp values with no timezone information.
Author:
Randall Hauch
See Also:
  • Field Details

  • Constructor Details

    • Timestamp

      private Timestamp()
  • Method Details

    • builder

      public static org.apache.kafka.connect.data.SchemaBuilder builder()
      Returns a SchemaBuilder for a Timestamp. The resulting schema will describe a field with the "io.debezium.time.Timestamp" as the name and INT64 for the literal type storing the number of milliseconds past midnight.

      You can use the resulting SchemaBuilder to set or override additional schema settings such as required/optional, default value, and documentation.

      Returns:
      the schema builder
    • schema

      public static org.apache.kafka.connect.data.Schema schema()
      Returns a Schema for a Timestamp but with all other default Schema settings. The schema describes a field with the "io.debezium.time.Timestamp" as the name and INT64 for the literal type storing the number of milliseconds past midnight.
      Returns:
      the schema
      See Also:
    • toEpochMillis

      public static long toEpochMillis(Object value, TemporalAdjuster adjuster)
      Get the number of milliseconds past epoch of the given LocalDateTime, LocalDate, LocalTime, Date, Date, Time, or Timestamp.
      Parameters:
      value - the local or SQL date, time, or timestamp value; may not be null
      adjuster - the optional component that adjusts the local date value before obtaining the epoch day; may be null if no adjustment is necessary
      Returns:
      the epoch milliseconds
      Throws:
      IllegalArgumentException - if the value is not an instance of the acceptable types