Class RMDateParser
java.lang.Object
com.inductiveautomation.rm.parsing.RMDateParser
- All Implemented Interfaces:
- RMDateParserConstants
- 
Field SummaryFieldsModifier and TypeFieldDescriptionNext token.Current token.Generated Token Manager.Fields inherited from interface com.inductiveautomation.rm.parsing.RMDateParserConstantsA, AFTER, AGO, AM, AMPM, APR, APRILFOOLS, AT, AUG, BASTILLEDAY, BDAY, BEFORE, BLACKTUESDAY, BOXINGDAY, CHRISTMAS, CINCODEMAYO, COLON, DASH, DAY, DDAY, DEC, DECIMAL, DEFAULT, EOF, EOL, EVE, FEB, FIRST, FOURDIGIT, FOURTH, FRI, GMT, GROUNDHOGDAY, HALLOWEEN, HENCE, INDEPENDENCEDAY, INITLOCALE, ISO8601GMT, ISO8601SEPARATOR, JAN, JEFFSDAY, JILLSDAY, JOSHSDAY, JUL, JUN, LAST, LOCAL_DATEFIELD, LOCAL_SEPARATOR, MAR, MAY, MINSEC, MON, MONTH, NEVER, NEWYEARS, NEXT, NOV, NOW, OCT, ONEDIGIT, PEARLHARBOR, PERIOD, PM, SAINT, SAT, SECOND, SEP, SLASH, STPATTYSDAY, SUN, THE, THIRD, THIS, THISCOMING, THISPAST, THU, TIME, TIMEZONE, TIMEZONEOFFSET, TODAY, tokenImage, TOMORROW, TUE, TWODIGIT, TZ, VALENTINESDAY, VEDAY, VJDAY, WED, WEEK, YEAR, YESTERDAY
- 
Constructor SummaryConstructorsConstructorDescriptionConstructor with generated Token Manager.RMDateParser(InputStream stream) Constructor with InputStream.RMDateParser(InputStream stream, String encoding) Constructor with InputStream and supplied encodingRMDateParser(Reader stream) Constructor.
- 
Method SummaryModifier and TypeMethodDescriptionfinal voidfinal intfinal Datedate()final voidsimple expressions, like "3 weeks from this past christmas" or "a year ago", "3 months from now", " Doesn't do things like "8/13/99 + 3 days", but that seems really stupid Some other interesting cases that we don't handle might be : "the 4th thursday in November", "the saturday after christmas" "the last monday in may" "a week ago this friday"final voidfinal intfinal voidDisable tracing.final voidEnable tracing.final intfinal doublefraction()Generate ParseException.Main entry point.final TokenGet the next Token.final TokengetToken(int index) Get the specific Token.final voidholiday(int modifier) final int[]final intintInRange(int lo, int hi) final voidfinal intfinal voidstatic voidfinal intmodifier()final intmonth()final Dateone_line()voidReinitialise.voidReInit(InputStream stream) Reinitialise.voidReInit(InputStream stream, String encoding) Reinitialise.voidReinitialise.final voidvoidSet the locale.voidsetAcceptsTwoDigitYears(int earliest) Y2K handling - accept 2 digit years.final voidfinal voidvoidY2K handling - call this to make the parser throw an error when it encounters a 2 digit yearfinal voidsettime()final voidfinal voidfinal voidfinal inttwoOrFourDigitDateField(boolean isYear) final intfinal intweekday()
- 
Field Details- 
token_sourceGenerated Token Manager.
- 
tokenCurrent token.
- 
jj_ntNext token.
 
- 
- 
Constructor Details- 
RMDateParserpublic RMDateParser()
- 
RMDateParser
- 
RMDateParserConstructor with InputStream.
- 
RMDateParserConstructor with InputStream and supplied encoding
- 
RMDateParserConstructor.
- 
RMDateParserConstructor with generated Token Manager.
 
- 
- 
Method Details- 
resetLocaleSet the locale. Currently just uses the DateFormat to figure out how to interpret "3/4/05"
- 
setRejectsTwoDigitYearspublic void setRejectsTwoDigitYears()Y2K handling - call this to make the parser throw an error when it encounters a 2 digit year
- 
setAcceptsTwoDigitYearspublic void setAcceptsTwoDigitYears(int earliest) Y2K handling - accept 2 digit years.'earliest' can be anything, and is the earliest possible year that would be representable by 2 digits. setAcceptsTwoDigitYears(1920) : 00->2000, 01->2001,...,19->2019, 20->1920, 21-1921... setAcceptsTwoDigitYears(1700) : 00->1700, ... 99->1799 This is similar to DateFormatter, but they let you pick the earliest day: eg. {8/13/1920 - 8/13/2019} which seems like overkill. 
- 
getDateMain entry point. Parses aString as best it can.
- 
main
- 
one_line- Throws:
- ParseException
 
- 
date- Throws:
- ParseException
 
- 
localField- Throws:
- ParseException
 
- 
initLocale- Throws:
- ParseException
 
- 
month- Throws:
- ParseException
 
- 
weekday- Throws:
- ParseException
 
- 
modifier- Throws:
- ParseException
 
- 
calendarField- Throws:
- ParseException
 
- 
intInRange- Throws:
- ParseException
 
- 
date_expressionsimple expressions, like "3 weeks from this past christmas" or "a year ago", "3 months from now", " Doesn't do things like "8/13/99 + 3 days", but that seems really stupid Some other interesting cases that we don't handle might be : "the 4th thursday in November", "the saturday after christmas" "the last monday in may" "a week ago this friday"- Throws:
- ParseException
 
- 
dayOrdinal- Throws:
- ParseException
 
- 
twoOrFourDigitYear- Throws:
- ParseException
 
- 
twoOrFourDigitDateField- Throws:
- ParseException
 
- 
fourDigitInt- Throws:
- ParseException
 
- 
relative_date- Throws:
- ParseException
 
- 
holiday- Throws:
- ParseException
 
- 
specific_day- Throws:
- ParseException
 
- 
datePartsSeparator- Throws:
- ParseException
 
- 
simple_date- Throws:
- ParseException
 
- 
absolute_date- Throws:
- ParseException
 
- 
long_date- Throws:
- ParseException
 
- 
settime- Throws:
- ParseException
 
- 
settimezone- Throws:
- ParseException
 
- 
fraction- Throws:
- ParseException
 
- 
iso_8601_date- Throws:
- ParseException
 
- 
setiso_8601_time- Throws:
- ParseException
 
- 
setiso_8601_timezone- Throws:
- ParseException
 
- 
ReInitReinitialise.
- 
ReInitReinitialise.
- 
ReInitReinitialise.
- 
ReInitReinitialise.
- 
getNextTokenGet the next Token.
- 
getTokenGet the specific Token.
- 
generateParseExceptionGenerate ParseException.
- 
enable_tracingpublic final void enable_tracing()Enable tracing.
- 
disable_tracingpublic final void disable_tracing()Disable tracing.
 
-