Top Description Inners Fields Constructors Methods
org.h2.mode

pack-priv final Class ToDateTokenizer

extends Object
Class Inheritance
Static Imports
java.lang.String.format

Emulates Oracle's TO_DATE function. This class knows all about the TO_DATE-format conventions and how to parse the corresponding data.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
ToDateTokenizer.DayParslet

Parslet responsible for parsing day parameter

public static enum
pack-priv static class
ToDateTokenizer.InlineParslet

Parslet responsible for parsing year parameter

pack-priv static class
ToDateTokenizer.MonthParslet

Parslet responsible for parsing month parameter

pack-priv static class
ToDateTokenizer.TimeParslet

Parslet responsible for parsing time parameter

pack-priv static interface
ToDateTokenizer.ToDateParslet

Interface of the classes that can parse a specialized small bit of the TO_DATE format-string.

pack-priv static class
ToDateTokenizer.YearParslet

Parslet responsible for parsing year parameter

Field Summary

Modifier and TypeField and Description
pack-priv static final ToDateTokenizer.DayParslet
PARSLET_DAY

The parslet for a day.

pack-priv static final ToDateTokenizer.InlineParslet
PARSLET_INLINE

The inline parslet.

pack-priv static final ToDateTokenizer.MonthParslet
PARSLET_MONTH

The parslet for a month.

pack-priv static final ToDateTokenizer.TimeParslet
PARSLET_TIME

The parslet for time.

pack-priv static final ToDateTokenizer.YearParslet
PARSLET_YEAR

The parslet for a year.

pack-priv static final Pattern
PATTERN_AM_PM

The pattern for "am" or "pm".

pack-priv static final Pattern
PATTERN_BC_AD

The pattern for "bc" or "ad".

pack-priv static final Pattern
PATTERN_FF

The pattern for a fraction (of a second for example).

pack-priv static final Pattern
PATTERN_FOUR_DIGITS

The pattern for four digits (typically a year).

pack-priv static final Pattern
PATTERN_INLINE

The pattern for a number.

pack-priv static final Pattern
PATTERN_NUMBER

The pattern for a number.

pack-priv static final Pattern
PATTERN_ONE_DIGIT

The pattern for one digit.

pack-priv static final Pattern
PATTERN_THREE_DIGITS

The pattern for three digits.

pack-priv static final Pattern
PATTERN_TWO_DIGITS

The pattern for two digits.

pack-priv static final Pattern
PATTERN_TWO_DIGITS_OR_LESS

The pattern for one or two digits.

pack-priv static final Pattern
PATTERN_TWO_TO_FOUR_DIGITS

The pattern 2-4 digits (e.g. for RRRR).

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv static String

Returns:

the matched value
matchStringOrThrow
(Pattern
the pattern
p
,
ToDateParser
the parameters with the input string
params
,
Enum<?>
the pattern name
aEnum
)

Match the pattern, or if not possible throw an exception.

pack-priv static String

Returns:

the matched value
setByName
(ToDateParser
the parameters with the input string
params
,
int
the field to set
field
)

Set the given field in the calendar.

pack-priv static void
throwException(ToDateParser
the parameters with the input string
params
,
String
the error string
errorStr
)

Throw a parse exception.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

PARSLET_DAYback to summary
pack-priv static final ToDateTokenizer.DayParslet PARSLET_DAY

The parslet for a day.

PARSLET_INLINEback to summary
pack-priv 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

PARSLET_MONTHback to summary
pack-priv static final ToDateTokenizer.MonthParslet PARSLET_MONTH

The parslet for a month.

PARSLET_TIMEback to summary
pack-priv static final ToDateTokenizer.TimeParslet PARSLET_TIME

The parslet for time.

PARSLET_YEARback to summary
pack-priv static final ToDateTokenizer.YearParslet PARSLET_YEAR

The parslet for a year.

PATTERN_AM_PMback to summary
pack-priv static final Pattern PATTERN_AM_PM

The pattern for "am" or "pm".

PATTERN_BC_ADback to summary
pack-priv static final Pattern PATTERN_BC_AD

The pattern for "bc" or "ad".

PATTERN_FFback to summary
pack-priv static final Pattern PATTERN_FF

The pattern for a fraction (of a second for example).

PATTERN_FOUR_DIGITSback to summary
pack-priv static final Pattern PATTERN_FOUR_DIGITS

The pattern for four digits (typically a year).

PATTERN_INLINEback to summary
pack-priv static final Pattern PATTERN_INLINE

The pattern for a number.

PATTERN_NUMBERback to summary
pack-priv static final Pattern PATTERN_NUMBER

The pattern for a number.

PATTERN_ONE_DIGITback to summary
pack-priv static final Pattern PATTERN_ONE_DIGIT

The pattern for one digit.

PATTERN_THREE_DIGITSback to summary
pack-priv static final Pattern PATTERN_THREE_DIGITS

The pattern for three digits.

PATTERN_TWO_DIGITSback to summary
pack-priv static final Pattern PATTERN_TWO_DIGITS

The pattern for two digits.

PATTERN_TWO_DIGITS_OR_LESSback to summary
pack-priv static final Pattern PATTERN_TWO_DIGITS_OR_LESS

The pattern for one or two digits.

PATTERN_TWO_TO_FOUR_DIGITSback to summary
pack-priv static final Pattern PATTERN_TWO_TO_FOUR_DIGITS

The pattern 2-4 digits (e.g. for RRRR).

Constructor Detail

ToDateTokenizerback to summary
private ToDateTokenizer()

Method Detail

matchStringOrThrowback to summary
pack-priv static String matchStringOrThrow(Pattern p, ToDateParser params, Enum<?> aEnum)

Match the pattern, or if not possible throw an exception.

Parameters
p:Pattern

the pattern

params:ToDateParser

the parameters with the input string

aEnum:Enum<?>

the pattern name

Returns:String

the matched value

setByNameback to summary
pack-priv static String setByName(ToDateParser params, int field)

Set the given field in the calendar.

Parameters
params:ToDateParser

the parameters with the input string

field:int

the field to set

Returns:String

the matched value

throwExceptionback to summary
pack-priv static void throwException(ToDateParser params, String errorStr)

Throw a parse exception.

Parameters
params:ToDateParser

the parameters with the input string

errorStr:String

the error string

org.h2.mode back to summary

pack-priv Class ToDateTokenizer.DayParslet

extends Object
implements ToDateParslet
Class Inheritance
All Implemented Interfaces
org.h2.mode.ToDateTokenizer.ToDateParslet

Parslet responsible for parsing day parameter

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
parse(ToDateParser
the parameters that contains the string
params
,
ToDateTokenizer.FormatTokenEnum
the format
formatTokenEnum
,
String
the format string
formatTokenStr
)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

DayParsletback to summary
pack-priv DayParslet()

Method Detail

parseback to summary
public void parse(ToDateParser params, ToDateTokenizer.FormatTokenEnum formatTokenEnum, String formatTokenStr)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Doc from org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Parameters
params:ToDateParser

the parameters that contains the string

formatTokenEnum:ToDateTokenizer.FormatTokenEnum

the format

formatTokenStr:String

the format string

Annotations
@Override
org.h2.mode back to summary

public final Enum ToDateTokenizer.FormatTokenEnum

extends Enum<ToDateTokenizer.FormatTokenEnum>
Class Inheritance

The format tokens.

Field Summary

Modifier and TypeField and Description
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
D

public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
E

public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
private static final List<ToDateTokenizer.FormatTokenEnum>
public static final ToDateTokenizer.FormatTokenEnum
J

public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
private final Pattern
public static final ToDateTokenizer.FormatTokenEnum
Q

public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
private final ToDateTokenizer.ToDateParslet
private static final List<ToDateTokenizer.FormatTokenEnum>[]
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
Y

public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum
public static final ToDateTokenizer.FormatTokenEnum

Constructor Summary

AccessConstructor and Description
private
FormatTokenEnum(ToDateTokenizer.ToDateParslet
the date parslet
toDateParslet
,
Pattern
the pattern
patternToUse
)

Construct a format token.

private
FormatTokenEnum(ToDateTokenizer.ToDateParslet
the date parslet
toDateParslet
)

Construct a format token.

Method Summary

Modifier and TypeMethod and Description
pack-priv static List<ToDateTokenizer.FormatTokenEnum>

Returns:

the list of tokens, or null
getTokensInQuestion
(String
the format string
formatStr
)

Optimization: Only return a list of FormatTokenEnum that share the same 1st char using the 1st char of the 'to parse' formatStr.

pack-priv boolean

Returns:

true if it matches
parseFormatStrWithToken
(ToDateParser
the parameters
params
)

Parse the format-string with passed token of FormatTokenEnum.

private static void
public static ToDateTokenizer.FormatTokenEnum
public static ToDateTokenizer.FormatTokenEnum[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

AM_PMback to summary
public static final ToDateTokenizer.FormatTokenEnum AM_PM
BC_ADback to summary
public static final ToDateTokenizer.FormatTokenEnum BC_AD
CCback to summary
public static final ToDateTokenizer.FormatTokenEnum CC
Dback to summary
public static final ToDateTokenizer.FormatTokenEnum D
DAYback to summary
public static final ToDateTokenizer.FormatTokenEnum DAY
DDback to summary
public static final ToDateTokenizer.FormatTokenEnum DD
DDDback to summary
public static final ToDateTokenizer.FormatTokenEnum DDD
DYback to summary
public static final ToDateTokenizer.FormatTokenEnum DY
Eback to summary
public static final ToDateTokenizer.FormatTokenEnum E
EEback to summary
public static final ToDateTokenizer.FormatTokenEnum EE
FFback to summary
public static final ToDateTokenizer.FormatTokenEnum FF
HHback to summary
public static final ToDateTokenizer.FormatTokenEnum HH
HH12back to summary
public static final ToDateTokenizer.FormatTokenEnum HH12
HH24back to summary
public static final ToDateTokenizer.FormatTokenEnum HH24
INLINEback to summary
public static final ToDateTokenizer.FormatTokenEnum INLINE
INLINE_LISTback to summary
private static final List<ToDateTokenizer.FormatTokenEnum> INLINE_LIST
Jback to summary
public static final ToDateTokenizer.FormatTokenEnum J
MIback to summary
public static final ToDateTokenizer.FormatTokenEnum MI
MMback to summary
public static final ToDateTokenizer.FormatTokenEnum MM
MONback to summary
public static final ToDateTokenizer.FormatTokenEnum MON
MONTHback to summary
public static final ToDateTokenizer.FormatTokenEnum MONTH
patternToUseback to summary
private final Pattern patternToUse
Qback to summary
public static final ToDateTokenizer.FormatTokenEnum Q
RMback to summary
public static final ToDateTokenizer.FormatTokenEnum RM
RRback to summary
public static final ToDateTokenizer.FormatTokenEnum RR
RRRRback to summary
public static final ToDateTokenizer.FormatTokenEnum RRRR
SCCback to summary
public static final ToDateTokenizer.FormatTokenEnum SCC
SSback to summary
public static final ToDateTokenizer.FormatTokenEnum SS
SSSSSback to summary
public static final ToDateTokenizer.FormatTokenEnum SSSSS
SYYYYback to summary
public static final ToDateTokenizer.FormatTokenEnum SYYYY
toDateParsletback to summary
private final ToDateTokenizer.ToDateParslet toDateParslet
TOKENSback to summary
private static final List<ToDateTokenizer.FormatTokenEnum>[] TOKENS
TZDback to summary
public static final ToDateTokenizer.FormatTokenEnum TZD
TZHback to summary
public static final ToDateTokenizer.FormatTokenEnum TZH
TZMback to summary
public static final ToDateTokenizer.FormatTokenEnum TZM
TZRback to summary
public static final ToDateTokenizer.FormatTokenEnum TZR
Yback to summary
public static final ToDateTokenizer.FormatTokenEnum Y
YYback to summary
public static final ToDateTokenizer.FormatTokenEnum YY
YYYback to summary
public static final ToDateTokenizer.FormatTokenEnum YYY
YYYYback to summary
public static final ToDateTokenizer.FormatTokenEnum YYYY

Constructor Detail

FormatTokenEnumback to summary
private FormatTokenEnum(ToDateTokenizer.ToDateParslet toDateParslet, Pattern patternToUse)

Construct a format token.

Parameters
toDateParslet:ToDateTokenizer.ToDateParslet

the date parslet

patternToUse:Pattern

the pattern

FormatTokenEnumback to summary
private FormatTokenEnum(ToDateTokenizer.ToDateParslet toDateParslet)

Construct a format token.

Parameters
toDateParslet:ToDateTokenizer.ToDateParslet

the date parslet

Method Detail

getTokensInQuestionback to summary
pack-priv static List<ToDateTokenizer.FormatTokenEnum> getTokensInQuestion(String formatStr)

Optimization: Only return a list of FormatTokenEnum that share the same 1st char using the 1st char of the 'to parse' formatStr. Or return null if no match.

Parameters
formatStr:String

the format string

Returns:List<ToDateTokenizer.FormatTokenEnum>

the list of tokens, or null

parseFormatStrWithTokenback to summary
pack-priv boolean parseFormatStrWithToken(ToDateParser params)

Parse the format-string with passed token of FormatTokenEnum. If token matches return true, otherwise false.

Parameters
params:ToDateParser

the parameters

Returns:boolean

true if it matches

putToCacheback to summary
private static void putToCache(List<ToDateTokenizer.FormatTokenEnum>[] cache, ToDateTokenizer.FormatTokenEnum token, String name)
valueOfback to summary
public static ToDateTokenizer.FormatTokenEnum valueOf(String name)
valuesback to summary
public static ToDateTokenizer.FormatTokenEnum[] values()
org.h2.mode back to summary

pack-priv Class ToDateTokenizer.InlineParslet

extends Object
implements ToDateParslet
Class Inheritance
All Implemented Interfaces
org.h2.mode.ToDateTokenizer.ToDateParslet

Parslet responsible for parsing year parameter

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
parse(ToDateParser
the parameters that contains the string
params
,
ToDateTokenizer.FormatTokenEnum
the format
formatTokenEnum
,
String
the format string
formatTokenStr
)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

InlineParsletback to summary
pack-priv InlineParslet()

Method Detail

parseback to summary
public void parse(ToDateParser params, ToDateTokenizer.FormatTokenEnum formatTokenEnum, String formatTokenStr)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Doc from org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Parameters
params:ToDateParser

the parameters that contains the string

formatTokenEnum:ToDateTokenizer.FormatTokenEnum

the format

formatTokenStr:String

the format string

Annotations
@Override
org.h2.mode back to summary

pack-priv Class ToDateTokenizer.MonthParslet

extends Object
implements ToDateParslet
Class Inheritance
All Implemented Interfaces
org.h2.mode.ToDateTokenizer.ToDateParslet

Parslet responsible for parsing month parameter

Field Summary

Modifier and TypeField and Description
private static final String[]

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
parse(ToDateParser
the parameters that contains the string
params
,
ToDateTokenizer.FormatTokenEnum
the format
formatTokenEnum
,
String
the format string
formatTokenStr
)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ROMAN_MONTHback to summary
private static final String[] ROMAN_MONTH

Constructor Detail

MonthParsletback to summary
pack-priv MonthParslet()

Method Detail

parseback to summary
public void parse(ToDateParser params, ToDateTokenizer.FormatTokenEnum formatTokenEnum, String formatTokenStr)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Doc from org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Parameters
params:ToDateParser

the parameters that contains the string

formatTokenEnum:ToDateTokenizer.FormatTokenEnum

the format

formatTokenStr:String

the format string

Annotations
@Override
org.h2.mode back to summary

pack-priv Class ToDateTokenizer.TimeParslet

extends Object
implements ToDateParslet
Class Inheritance
All Implemented Interfaces
org.h2.mode.ToDateTokenizer.ToDateParslet

Parslet responsible for parsing time parameter

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
parse(ToDateParser
the parameters that contains the string
params
,
ToDateTokenizer.FormatTokenEnum
the format
formatTokenEnum
,
String
the format string
formatTokenStr
)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

TimeParsletback to summary
pack-priv TimeParslet()

Method Detail

parseback to summary
public void parse(ToDateParser params, ToDateTokenizer.FormatTokenEnum formatTokenEnum, String formatTokenStr)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Doc from org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Parameters
params:ToDateParser

the parameters that contains the string

formatTokenEnum:ToDateTokenizer.FormatTokenEnum

the format

formatTokenStr:String

the format string

Annotations
@Override
org.h2.mode back to summary

pack-priv Interface ToDateTokenizer.ToDateParslet

Known Direct Implementers
org.h2.mode.ToDateTokenizer.YearParslet, org.h2.mode.ToDateTokenizer.MonthParslet, org.h2.mode.ToDateTokenizer.DayParslet, org.h2.mode.ToDateTokenizer.TimeParslet, org.h2.mode.ToDateTokenizer.InlineParslet

Interface of the classes that can parse a specialized small bit of the TO_DATE format-string.

Method Summary

Modifier and TypeMethod and Description
public void
parse(ToDateParser
the parameters that contains the string
params
,
ToDateTokenizer.FormatTokenEnum
the format
formatTokenEnum
,
String
the format string
formatTokenStr
)

Parse a date part.

Method Detail

parseback to summary
public void parse(ToDateParser params, ToDateTokenizer.FormatTokenEnum formatTokenEnum, String formatTokenStr)

Parse a date part.

Parameters
params:ToDateParser

the parameters that contains the string

formatTokenEnum:ToDateTokenizer.FormatTokenEnum

the format

formatTokenStr:String

the format string

org.h2.mode back to summary

pack-priv Class ToDateTokenizer.YearParslet

extends Object
implements ToDateParslet
Class Inheritance
All Implemented Interfaces
org.h2.mode.ToDateTokenizer.ToDateParslet

Parslet responsible for parsing year parameter

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
parse(ToDateParser
the parameters that contains the string
params
,
ToDateTokenizer.FormatTokenEnum
the format
formatTokenEnum
,
String
the format string
formatTokenStr
)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

YearParsletback to summary
pack-priv YearParslet()

Method Detail

parseback to summary
public void parse(ToDateParser params, ToDateTokenizer.FormatTokenEnum formatTokenEnum, String formatTokenStr)

Implements org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Doc from org.h2.mode.ToDateTokenizer.ToDateParslet.parse.

Parse a date part.

Parameters
params:ToDateParser

the parameters that contains the string

formatTokenEnum:ToDateTokenizer.FormatTokenEnum

the format

formatTokenStr:String

the format string

Annotations
@Override