Package org.h2.mode
Class ToDateTokenizer
- java.lang.Object
-
- org.h2.mode.ToDateTokenizer
-
final class ToDateTokenizer extends java.lang.Object
Emulates 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 class
ToDateTokenizer.DayParslet
Parslet responsible for parsing day parameterstatic class
ToDateTokenizer.FormatTokenEnum
The format tokens.(package private) static class
ToDateTokenizer.InlineParslet
Parslet responsible for parsing year parameter(package private) static class
ToDateTokenizer.MonthParslet
Parslet responsible for parsing month parameter(package private) static class
ToDateTokenizer.TimeParslet
Parslet responsible for parsing time parameter(package private) static interface
ToDateTokenizer.ToDateParslet
Interface of the classes that can parse a specialized small bit of the TO_DATE format-string.(package private) static class
ToDateTokenizer.YearParslet
Parslet responsible for parsing year parameter
-
Field Summary
Fields Modifier and Type Field Description (package private) static ToDateTokenizer.DayParslet
PARSLET_DAY
The parslet for a day.(package private) static ToDateTokenizer.InlineParslet
PARSLET_INLINE
The inline parslet.(package private) static ToDateTokenizer.MonthParslet
PARSLET_MONTH
The parslet for a month.(package private) static ToDateTokenizer.TimeParslet
PARSLET_TIME
The parslet for time.(package private) static ToDateTokenizer.YearParslet
PARSLET_YEAR
The parslet for a year.(package private) static java.util.regex.Pattern
PATTERN_AM_PM
The pattern for "am" or "pm".(package private) static java.util.regex.Pattern
PATTERN_BC_AD
The pattern for "bc" or "ad".(package private) static java.util.regex.Pattern
PATTERN_FF
The pattern for a fraction (of a second for example).(package private) static java.util.regex.Pattern
PATTERN_FOUR_DIGITS
The pattern for four digits (typically a year).(package private) static java.util.regex.Pattern
PATTERN_INLINE
The pattern for a number.(package private) static java.util.regex.Pattern
PATTERN_NUMBER
The pattern for a number.(package private) static java.util.regex.Pattern
PATTERN_ONE_DIGIT
The pattern for one digit.(package private) static java.util.regex.Pattern
PATTERN_THREE_DIGITS
The pattern for three digits.(package private) static java.util.regex.Pattern
PATTERN_TWO_DIGITS
The pattern for two digits.(package private) static java.util.regex.Pattern
PATTERN_TWO_DIGITS_OR_LESS
The pattern for one or two digits.(package private) static java.util.regex.Pattern
PATTERN_TWO_TO_FOUR_DIGITS
The pattern 2-4 digits (e.g.
-
Constructor Summary
Constructors Modifier Constructor Description private
ToDateTokenizer()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) 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.(package private) static java.lang.String
setByName(ToDateParser params, int field)
Set the given field in the calendar.(package private) static void
throwException(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
-
-