Class DateTimeParser

java.lang.Object
org.apache.derby.iapi.types.DateTimeParser

class DateTimeParser extends Object
This class provides a simple regular expression parser for standard format dates, times, and timestamps
  • Field Details

    • str

      private String str
    • len

      private int len
    • fieldStart

      private int fieldStart
    • currentSeparator

      private char currentSeparator
  • Constructor Details

    • DateTimeParser

      DateTimeParser(String str)
  • Method Details

    • parseInt

      int parseInt(int maxDigits, boolean truncationAllowed, char[] separator, boolean isFraction) throws StandardException
      Parse the next integer.
      Parameters:
      maxDigits - the maximum number of digits
      truncationAllowed - If true then leading zeroes may be ommitted. If false then the integer must be exactly ndigits long.
      separator - The separator at the end of the integer. If zero then the integer must be at the end of the string but may be followed by spaces.
      isFraction - If true then the returned integer will be multiplied by 10**(maxDigits - actualDigitCount)
      Returns:
      the integer.
      Throws:
      StandardException - invalid syntax.
    • parseChoice

      int parseChoice(String[] choices) throws StandardException
      Determine if the next characters are one of a choice of strings.
      Parameters:
      choices - An array of strings.
      Returns:
      An index in choices.
      Throws:
      StandardException - if the next characters are not in choices.
    • updateCurrentSeparator

      private void updateCurrentSeparator()
    • checkEnd

      void checkEnd() throws StandardException
      Check that we are at the end of the string: that the rest of the characters, if any, are blanks.
      Throws:
      StandardException - if there are more non-blank characters.
    • nextSeparator

      char nextSeparator()
      Returns:
      the next separator, 0 if there are none
    • getCurrentSeparator

      char getCurrentSeparator()
      Returns:
      the separator between the last parsed integer and the next integer, 0 if the parser is at the end of the string.