Class DateTimeParser


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

      Fields 
      Modifier and Type Field Description
      private char currentSeparator  
      private int fieldStart  
      private int len  
      private java.lang.String str  
    • Constructor Summary

      Constructors 
      Constructor Description
      DateTimeParser​(java.lang.String str)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void checkEnd()
      Check that we are at the end of the string: that the rest of the characters, if any, are blanks.
      (package private) char getCurrentSeparator()  
      (package private) char nextSeparator()  
      (package private) int parseChoice​(java.lang.String[] choices)
      Determine if the next characters are one of a choice of strings.
      (package private) int parseInt​(int maxDigits, boolean truncationAllowed, char[] separator, boolean isFraction)
      Parse the next integer.
      private void updateCurrentSeparator()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • str

        private java.lang.String str
      • len

        private int len
      • fieldStart

        private int fieldStart
      • currentSeparator

        private char currentSeparator
    • Constructor Detail

      • DateTimeParser

        DateTimeParser​(java.lang.String str)
    • Method Detail

      • 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​(java.lang.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.