- java.lang.Object
-
- jakarta.mail.internet.MailDateFormat.AbstractDateParser
-
- Direct Known Subclasses:
MailDateFormat.Rfc2822StrictParser
- Enclosing class:
- MailDateFormat
private abstract static class MailDateFormat.AbstractDateParser extends java.lang.Object
This class provides the building blocks for date parsing.It has the following invariants:
- no exceptions are thrown, except for java.text.ParseException from parse* methods
- when parse* throws ParseException OR get* returns INVALID_CHAR OR skip* returns false OR peek* is invoked, then pos.getIndex() on method exit is the same as it was on method entry
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
INVALID_CHAR
(package private) static int
MAX_YEAR_DIGITS
(package private) java.text.ParsePosition
pos
(package private) java.lang.String
text
-
Constructor Summary
Constructors Constructor Description AbstractDateParser(java.lang.String text, java.text.ParsePosition pos)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) int
getAsciiDigit()
(package private) int
getChar()
(package private) boolean
isValidZoneOffset(int offset)
(package private) java.util.Date
parse()
(package private) int
parseAsciiDigits(int count)
(package private) int
parseAsciiDigits(int min, int max)
(package private) int
parseAsciiDigits(int min, int max, boolean isEOF)
(package private) void
parseChar(char ch)
(package private) int
parseDayName()
(package private) void
parseFoldingWhiteSpace()
(package private) int
parseMonthName(boolean caseSensitive)
(package private) int
parseZoneOffset()
(package private) boolean
peekAsciiDigit()
(package private) boolean
peekChar(char ch)
(package private) boolean
peekFoldingWhiteSpace()
(package private) boolean
skipAlternative(char standard, char alternative)
(package private) boolean
skipAlternativePair(char firstStandard, char firstAlternative, char secondStandard, char secondAlternative)
(package private) boolean
skipAlternativeTriple(char firstStandard, char firstAlternative, char secondStandard, char secondAlternative, char thirdStandard, char thirdAlternative)
(package private) boolean
skipChar(char ch)
(package private) boolean
skipFoldingWhiteSpace()
(package private) boolean
skipNewline()
(package private) boolean
skipPair(char first, char second)
(package private) boolean
skipWhiteSpace()
(package private) abstract java.util.Date
tryParse()
-
-
-
Field Detail
-
INVALID_CHAR
static final int INVALID_CHAR
- See Also:
- Constant Field Values
-
MAX_YEAR_DIGITS
static final int MAX_YEAR_DIGITS
- See Also:
- Constant Field Values
-
text
final java.lang.String text
-
pos
final java.text.ParsePosition pos
-
-
Method Detail
-
parse
final java.util.Date parse()
-
tryParse
abstract java.util.Date tryParse() throws java.text.ParseException
- Throws:
java.text.ParseException
-
parseDayName
final int parseDayName() throws java.text.ParseException
- Returns:
- the java.util.Calendar constant for the parsed day name
- Throws:
java.text.ParseException
-
parseMonthName
final int parseMonthName(boolean caseSensitive) throws java.text.ParseException
- Returns:
- the java.util.Calendar constant for the parsed month name
- Throws:
java.text.ParseException
-
parseZoneOffset
final int parseZoneOffset() throws java.text.ParseException
- Returns:
- the number of minutes to be added to the time in the local time zone, in order to obtain the equivalent time in the UTC time zone. Returns 0 if the date-time contains no information about the local time zone.
- Throws:
java.text.ParseException
-
isValidZoneOffset
boolean isValidZoneOffset(int offset)
-
parseAsciiDigits
final int parseAsciiDigits(int count) throws java.text.ParseException
- Throws:
java.text.ParseException
-
parseAsciiDigits
final int parseAsciiDigits(int min, int max) throws java.text.ParseException
- Throws:
java.text.ParseException
-
parseAsciiDigits
final int parseAsciiDigits(int min, int max, boolean isEOF) throws java.text.ParseException
- Throws:
java.text.ParseException
-
parseFoldingWhiteSpace
final void parseFoldingWhiteSpace() throws java.text.ParseException
- Throws:
java.text.ParseException
-
parseChar
final void parseChar(char ch) throws java.text.ParseException
- Throws:
java.text.ParseException
-
getAsciiDigit
final int getAsciiDigit()
-
getChar
final int getChar()
-
skipFoldingWhiteSpace
boolean skipFoldingWhiteSpace()
-
skipWhiteSpace
final boolean skipWhiteSpace()
-
skipNewline
final boolean skipNewline()
-
skipAlternativeTriple
final boolean skipAlternativeTriple(char firstStandard, char firstAlternative, char secondStandard, char secondAlternative, char thirdStandard, char thirdAlternative)
-
skipAlternativePair
final boolean skipAlternativePair(char firstStandard, char firstAlternative, char secondStandard, char secondAlternative)
-
skipAlternative
final boolean skipAlternative(char standard, char alternative)
-
skipPair
final boolean skipPair(char first, char second)
-
skipChar
final boolean skipChar(char ch)
-
peekAsciiDigit
final boolean peekAsciiDigit()
-
peekFoldingWhiteSpace
boolean peekFoldingWhiteSpace()
-
peekChar
final boolean peekChar(char ch)
-
-