Package org.apache.calcite.util
Class TimeString
- java.lang.Object
-
- org.apache.calcite.util.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).
-
-
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.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(TimeString o)
boolean
equals(java.lang.Object o)
static TimeString
fromCalendarFields(java.util.Calendar calendar)
Creates a TimeString from a Calendar.static TimeString
fromMillisOfDay(int i)
private int
getHour()
private int
getMillisInSecond()
int
getMillisOfDay()
private int
getMinute()
private int
getSecond()
int
hashCode()
private static java.lang.String
hms(int h, int m, int s)
Validates an hour-minute-second value and converts to a string.private int
precision()
TimeString
round(int precision)
java.util.Calendar
toCalendar()
java.lang.String
toString()
java.lang.String
toString(int precision)
Converts this TimestampString to a string, truncated or padded with zeroes to a given precision.TimeString
withFraction(java.lang.String fraction)
Sets the fraction field of aTimeString
.TimeString
withMillis(int millis)
Sets the fraction field of aTimeString
to a given number of milliseconds.TimeString
withNanos(int nanos)
Sets the fraction field of aTimeString
to a given number of nanoseconds.
-
-
-
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 aTimeString
to a given number of milliseconds. Nukes the value set viawithNanos(int)
.For example,
new TimeString(1970, 1, 1, 2, 3, 4).withMillis(56)
yieldsTIME '1970-01-01 02:03:04.056'
.
-
withNanos
public TimeString withNanos(int nanos)
Sets the fraction field of aTimeString
to a given number of nanoseconds. Nukes the value set viawithMillis(int)
.For example,
new TimeString(1970, 1, 1, 2, 3, 4).withNanos(56789)
yieldsTIME '1970-01-01 02:03:04.000056789'
.
-
withFraction
public TimeString withFraction(java.lang.String fraction)
Sets the fraction field of aTimeString
. 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")
yieldsTIME '1970-01-01 02:03:04.00506'
.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
compareTo
public int compareTo(@Nonnull TimeString o)
- Specified by:
compareTo
in interfacejava.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()
-
-