Class TimeString

  • All Implemented Interfaces:
    java.lang.Comparable<TimeString>

    public class TimeString
    extends java.lang.Object
    implements java.lang.Comparable<TimeString>
    Time literal.

    Immutable, internally represented as a string (in ISO format), and can support unlimited precision (milliseconds, nanoseconds).

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.regex.Pattern PATTERN  
      (package private) java.lang.String v  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        TimeString​(int h, int m, int s)
      Creates a TimeString for hour, minute, second and millisecond values.
        TimeString​(java.lang.String v)
      Creates a TimeString.
      private TimeString​(java.lang.String v, boolean ignore)
      Internal constructor, no validation.
    • Field Detail

      • PATTERN

        private static final java.util.regex.Pattern PATTERN
      • v

        final java.lang.String v
    • Constructor Detail

      • TimeString

        private TimeString​(java.lang.String v,
                           boolean ignore)
        Internal constructor, no validation.
      • TimeString

        public TimeString​(java.lang.String v)
        Creates a TimeString.
      • TimeString

        public TimeString​(int h,
                          int m,
                          int s)
        Creates a TimeString for hour, minute, second and millisecond values.
    • Method Detail

      • hms

        private static java.lang.String hms​(int h,
                                            int m,
                                            int s)
        Validates an hour-minute-second value and converts to a string.
      • withMillis

        public TimeString withMillis​(int millis)
        Sets the fraction field of a TimeString to a given number of milliseconds. Nukes the value set via withNanos(int).

        For example, new TimeString(1970, 1, 1, 2, 3, 4).withMillis(56) yields TIME '1970-01-01 02:03:04.056'.

      • withNanos

        public TimeString withNanos​(int nanos)
        Sets the fraction field of a TimeString to a given number of nanoseconds. Nukes the value set via withMillis(int).

        For example, new TimeString(1970, 1, 1, 2, 3, 4).withNanos(56789) yields TIME '1970-01-01 02:03:04.000056789'.

      • withFraction

        public TimeString withFraction​(java.lang.String fraction)
        Sets the fraction field of a TimeString. The precision is determined by the number of leading zeros. Trailing zeros are stripped.

        For example, new TimeString(1970, 1, 1, 2, 3, 4).withFraction("00506000") yields TIME '1970-01-01 02:03:04.00506'.

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • compareTo

        public int compareTo​(@Nonnull
                             TimeString o)
        Specified by:
        compareTo in interface java.lang.Comparable<TimeString>
      • fromCalendarFields

        public static TimeString fromCalendarFields​(java.util.Calendar calendar)
        Creates a TimeString from a Calendar.
      • fromMillisOfDay

        public static TimeString fromMillisOfDay​(int i)
      • round

        public TimeString round​(int precision)
      • getMillisOfDay

        public int getMillisOfDay()
      • getMillisInSecond

        private int getMillisInSecond()
      • getHour

        private int getHour()
      • getMinute

        private int getMinute()
      • getSecond

        private int getSecond()
      • toCalendar

        public java.util.Calendar toCalendar()
      • toString

        public java.lang.String toString​(int precision)
        Converts this TimestampString to a string, truncated or padded with zeroes to a given precision.
      • precision

        private int precision()