Package org.h2.mode
Class ToDateTokenizer
- java.lang.Object
-
- org.h2.mode.ToDateTokenizer
-
final class ToDateTokenizer extends java.lang.ObjectEmulates Oracle's TO_DATE function. This class knows all about the TO_DATE-format conventions and how to parse the corresponding data.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classToDateTokenizer.DayParsletParslet responsible for parsing day parameterstatic classToDateTokenizer.FormatTokenEnumThe format tokens.(package private) static classToDateTokenizer.InlineParsletParslet responsible for parsing year parameter(package private) static classToDateTokenizer.MonthParsletParslet responsible for parsing month parameter(package private) static classToDateTokenizer.TimeParsletParslet responsible for parsing time parameter(package private) static interfaceToDateTokenizer.ToDateParsletInterface of the classes that can parse a specialized small bit of the TO_DATE format-string.(package private) static classToDateTokenizer.YearParsletParslet responsible for parsing year parameter
-
Field Summary
Fields Modifier and Type Field Description (package private) static ToDateTokenizer.DayParsletPARSLET_DAYThe parslet for a day.(package private) static ToDateTokenizer.InlineParsletPARSLET_INLINEThe inline parslet.(package private) static ToDateTokenizer.MonthParsletPARSLET_MONTHThe parslet for a month.(package private) static ToDateTokenizer.TimeParsletPARSLET_TIMEThe parslet for time.(package private) static ToDateTokenizer.YearParsletPARSLET_YEARThe parslet for a year.(package private) static java.util.regex.PatternPATTERN_AM_PMThe pattern for "am" or "pm".(package private) static java.util.regex.PatternPATTERN_BC_ADThe pattern for "bc" or "ad".(package private) static java.util.regex.PatternPATTERN_FFThe pattern for a fraction (of a second for example).(package private) static java.util.regex.PatternPATTERN_FOUR_DIGITSThe pattern for four digits (typically a year).(package private) static java.util.regex.PatternPATTERN_INLINEThe pattern for a number.(package private) static java.util.regex.PatternPATTERN_NUMBERThe pattern for a number.(package private) static java.util.regex.PatternPATTERN_ONE_DIGITThe pattern for one digit.(package private) static java.util.regex.PatternPATTERN_THREE_DIGITSThe pattern for three digits.(package private) static java.util.regex.PatternPATTERN_TWO_DIGITSThe pattern for two digits.(package private) static java.util.regex.PatternPATTERN_TWO_DIGITS_OR_LESSThe pattern for one or two digits.(package private) static java.util.regex.PatternPATTERN_TWO_TO_FOUR_DIGITSThe pattern 2-4 digits (e.g.
-
Constructor Summary
Constructors Modifier Constructor Description privateToDateTokenizer()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.StringmatchStringOrThrow(java.util.regex.Pattern p, ToDateParser params, java.lang.Enum<?> aEnum)Match the pattern, or if not possible throw an exception.(package private) static java.lang.StringsetByName(ToDateParser params, int field)Set the given field in the calendar.(package private) static voidthrowException(ToDateParser params, java.lang.String errorStr)Throw a parse exception.
-
-
-
Field Detail
-
PATTERN_INLINE
static final java.util.regex.Pattern PATTERN_INLINE
The pattern for a number.
-
PATTERN_NUMBER
static final java.util.regex.Pattern PATTERN_NUMBER
The pattern for a number.
-
PATTERN_FOUR_DIGITS
static final java.util.regex.Pattern PATTERN_FOUR_DIGITS
The pattern for four digits (typically a year).
-
PATTERN_TWO_TO_FOUR_DIGITS
static final java.util.regex.Pattern PATTERN_TWO_TO_FOUR_DIGITS
The pattern 2-4 digits (e.g. for RRRR).
-
PATTERN_THREE_DIGITS
static final java.util.regex.Pattern PATTERN_THREE_DIGITS
The pattern for three digits.
-
PATTERN_TWO_DIGITS
static final java.util.regex.Pattern PATTERN_TWO_DIGITS
The pattern for two digits.
-
PATTERN_TWO_DIGITS_OR_LESS
static final java.util.regex.Pattern PATTERN_TWO_DIGITS_OR_LESS
The pattern for one or two digits.
-
PATTERN_ONE_DIGIT
static final java.util.regex.Pattern PATTERN_ONE_DIGIT
The pattern for one digit.
-
PATTERN_FF
static final java.util.regex.Pattern PATTERN_FF
The pattern for a fraction (of a second for example).
-
PATTERN_AM_PM
static final java.util.regex.Pattern PATTERN_AM_PM
The pattern for "am" or "pm".
-
PATTERN_BC_AD
static final java.util.regex.Pattern PATTERN_BC_AD
The pattern for "bc" or "ad".
-
PARSLET_YEAR
static final ToDateTokenizer.YearParslet PARSLET_YEAR
The parslet for a year.
-
PARSLET_MONTH
static final ToDateTokenizer.MonthParslet PARSLET_MONTH
The parslet for a month.
-
PARSLET_DAY
static final ToDateTokenizer.DayParslet PARSLET_DAY
The parslet for a day.
-
PARSLET_TIME
static final ToDateTokenizer.TimeParslet PARSLET_TIME
The parslet for time.
-
PARSLET_INLINE
static final ToDateTokenizer.InlineParslet PARSLET_INLINE
The inline parslet. E.g. 'YYYY-MM-DD"T"HH24:MI:SS"Z"' where "T" and "Z" are inlined
-
-
Method Detail
-
matchStringOrThrow
static java.lang.String matchStringOrThrow(java.util.regex.Pattern p, ToDateParser params, java.lang.Enum<?> aEnum)Match the pattern, or if not possible throw an exception.- Parameters:
p- the patternparams- the parameters with the input stringaEnum- the pattern name- Returns:
- the matched value
-
setByName
static java.lang.String setByName(ToDateParser params, int field)
Set the given field in the calendar.- Parameters:
params- the parameters with the input stringfield- the field to set- Returns:
- the matched value
-
throwException
static void throwException(ToDateParser params, java.lang.String errorStr)
Throw a parse exception.- Parameters:
params- the parameters with the input stringerrorStr- the error string
-
-