Package org.h2.mode
Class ToDateParser
- java.lang.Object
-
- org.h2.mode.ToDateParser
-
public final class ToDateParser extends java.lang.ObjectEmulates Oracle's TO_DATE function.
This class holds and handles the input data form the TO_DATE-method
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classToDateParser.ConfigParamThe configuration of the date parser.
-
Field Summary
Fields Modifier and Type Field Description private longabsoluteDayprivate booleanabsoluteDayValidprivate booleanbcprivate intcurrentMonthprivate intcurrentYearprivate intdayprivate intdayOfYearprivate booleandoyValidprivate java.lang.StringformatStrprivate ToDateParser.ConfigParamfunctionNameprivate inthourprivate inthour12private booleanhour12Validprivate java.lang.StringinputStrprivate booleanisAMprivate intminuteprivate intmonthprivate intnanosprivate intsecondprivate SessionLocalsessionprivate TimeZoneProvidertimeZoneprivate booleantimeZoneHMValidprivate inttimeZoneHourprivate inttimeZoneMinuteprivate java.lang.StringunmodifiedFormatStrprivate java.lang.StringunmodifiedInputStrprivate intyear
-
Constructor Summary
Constructors Modifier Constructor Description privateToDateParser(SessionLocal session, ToDateParser.ConfigParam functionName, java.lang.String input, java.lang.String format)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) intgetCurrentMonth()(package private) intgetCurrentYear()(package private) java.lang.StringgetFormatStr()(package private) java.lang.StringgetFunctionName()(package private) java.lang.StringgetInputStr()private ValueTimestampgetResultingValue()private ValueTimestampTimeZonegetResultingValueWithTimeZone()private static ToDateParsergetTimestampParser(SessionLocal session, ToDateParser.ConfigParam param, java.lang.String input, java.lang.String format)private booleanhasToParseData()private static ToDateParserparse(ToDateParser p)private voidqueryCurrentYearAndMonth()(package private) voidremove(java.lang.String inputFragmentStr, java.lang.String formatFragment)Remove a token from a string.private voidremoveFirstChar()(package private) voidsetAbsoluteDay(int absoluteDay)(package private) voidsetAmPm(boolean isAM)(package private) voidsetBC(boolean bc)(package private) voidsetDay(int day)(package private) voidsetDayOfYear(int dayOfYear)(package private) voidsetHour(int hour)(package private) voidsetHour12(int hour12)(package private) voidsetMinute(int minute)(package private) voidsetMonth(int month)(package private) voidsetNanos(int nanos)(package private) voidsetSecond(int second)(package private) voidsetTimeZone(TimeZoneProvider timeZone)(package private) voidsetTimeZoneHour(int timeZoneHour)(package private) voidsetTimeZoneMinute(int timeZoneMinute)(package private) voidsetYear(int year)static ValueTimestamptoDate(SessionLocal session, java.lang.String input, java.lang.String format)Parse a string as a date with the given format.java.lang.StringtoString()static ValueTimestamptoTimestamp(SessionLocal session, java.lang.String input, java.lang.String format)Parse a string as a timestamp with the given format.static ValueTimestampTimeZonetoTimestampTz(SessionLocal session, java.lang.String input, java.lang.String format)Parse a string as a timestamp with the given format.
-
-
-
Field Detail
-
session
private final SessionLocal session
-
unmodifiedInputStr
private final java.lang.String unmodifiedInputStr
-
unmodifiedFormatStr
private final java.lang.String unmodifiedFormatStr
-
functionName
private final ToDateParser.ConfigParam functionName
-
inputStr
private java.lang.String inputStr
-
formatStr
private java.lang.String formatStr
-
doyValid
private boolean doyValid
-
absoluteDayValid
private boolean absoluteDayValid
-
hour12Valid
private boolean hour12Valid
-
timeZoneHMValid
private boolean timeZoneHMValid
-
bc
private boolean bc
-
absoluteDay
private long absoluteDay
-
year
private int year
-
month
private int month
-
day
private int day
-
dayOfYear
private int dayOfYear
-
hour
private int hour
-
minute
private int minute
-
second
private int second
-
nanos
private int nanos
-
hour12
private int hour12
-
isAM
private boolean isAM
-
timeZone
private TimeZoneProvider timeZone
-
timeZoneHour
private int timeZoneHour
-
timeZoneMinute
private int timeZoneMinute
-
currentYear
private int currentYear
-
currentMonth
private int currentMonth
-
-
Constructor Detail
-
ToDateParser
private ToDateParser(SessionLocal session, ToDateParser.ConfigParam functionName, java.lang.String input, java.lang.String format)
- Parameters:
session- the database sessionfunctionName- one of [TO_DATE, TO_TIMESTAMP] (both share the same code)input- the input date with the date-time infoformat- the format of date-time info
-
-
Method Detail
-
getTimestampParser
private static ToDateParser getTimestampParser(SessionLocal session, ToDateParser.ConfigParam param, java.lang.String input, java.lang.String format)
-
getResultingValue
private ValueTimestamp getResultingValue()
-
getResultingValueWithTimeZone
private ValueTimestampTimeZone getResultingValueWithTimeZone()
-
getInputStr
java.lang.String getInputStr()
-
getFormatStr
java.lang.String getFormatStr()
-
getFunctionName
java.lang.String getFunctionName()
-
queryCurrentYearAndMonth
private void queryCurrentYearAndMonth()
-
getCurrentYear
int getCurrentYear()
-
getCurrentMonth
int getCurrentMonth()
-
setAbsoluteDay
void setAbsoluteDay(int absoluteDay)
-
setBC
void setBC(boolean bc)
-
setYear
void setYear(int year)
-
setMonth
void setMonth(int month)
-
setDay
void setDay(int day)
-
setDayOfYear
void setDayOfYear(int dayOfYear)
-
setHour
void setHour(int hour)
-
setMinute
void setMinute(int minute)
-
setSecond
void setSecond(int second)
-
setNanos
void setNanos(int nanos)
-
setAmPm
void setAmPm(boolean isAM)
-
setHour12
void setHour12(int hour12)
-
setTimeZone
void setTimeZone(TimeZoneProvider timeZone)
-
setTimeZoneHour
void setTimeZoneHour(int timeZoneHour)
-
setTimeZoneMinute
void setTimeZoneMinute(int timeZoneMinute)
-
hasToParseData
private boolean hasToParseData()
-
removeFirstChar
private void removeFirstChar()
-
parse
private static ToDateParser parse(ToDateParser p)
-
remove
void remove(java.lang.String inputFragmentStr, java.lang.String formatFragment)Remove a token from a string.- Parameters:
inputFragmentStr- the input fragmentformatFragment- the format fragment
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toTimestamp
public static ValueTimestamp toTimestamp(SessionLocal session, java.lang.String input, java.lang.String format)
Parse a string as a timestamp with the given format.- Parameters:
session- the database sessioninput- the inputformat- the format- Returns:
- the timestamp
-
toTimestampTz
public static ValueTimestampTimeZone toTimestampTz(SessionLocal session, java.lang.String input, java.lang.String format)
Parse a string as a timestamp with the given format.- Parameters:
session- the database sessioninput- the inputformat- the format- Returns:
- the timestamp
-
toDate
public static ValueTimestamp toDate(SessionLocal session, java.lang.String input, java.lang.String format)
Parse a string as a date with the given format.- Parameters:
session- the database sessioninput- the inputformat- the format- Returns:
- the date as a timestamp
-
-