Class MicroTimestamp


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

      • MicroTimestamp

        private MicroTimestamp()
    • Method Detail

      • builder

        public static org.apache.kafka.connect.data.SchemaBuilder builder()
        Returns a SchemaBuilder for a MicroTimestamp. The resulting schema will describe a field with the "io.debezium.time.MicroTimestamp" as the name and INT64 for the literal type storing the number of microseconds 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 MicroTimestamp but with all other default Schema settings. The schema describes a field with the "io.debezium.time.MicroTimestamp" as the name and INT64 for the literal type storing the number of microseconds past midnight.
        Returns:
        the schema
        See Also:
        builder()
      • toEpochMicros

        public static long toEpochMicros​(Object value,
                                         TemporalAdjuster adjuster)
        Get the number of microseconds 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 microseconds
        Throws:
        IllegalArgumentException - if the value is not an instance of the acceptable types