Class ZonePrinterParser

    • Constructor Detail

      • ZonePrinterParser

        ZonePrinterParser()
        Constructor.
    • Method Detail

      • print

        public void print​(Calendrical calendrical,
                          java.lang.Appendable appendable,
                          DateTimeFormatSymbols symbols)
                   throws java.io.IOException
        Prints the calendrical object to the appendable.
        Specified by:
        print in interface DateTimePrinter
        Parameters:
        calendrical - the calendrical to print, not null
        appendable - the appendable to add to, not null
        symbols - the formatting symbols to use, not null
        Throws:
        java.io.IOException - if the append throws an exception
      • isPrintDataAvailable

        public boolean isPrintDataAvailable​(Calendrical calendrical)
        Checks if the calendrical contains the data necessary to be printed.

        The implementation should not check the validity of the data, just whether there is sufficient data to attempt a print.

        Specified by:
        isPrintDataAvailable in interface DateTimePrinter
        Parameters:
        calendrical - the calendrical to check, not null
        Returns:
        true if the calendrical can be printed, false if not
      • parse

        public int parse​(DateTimeParseContext context,
                         java.lang.String parseText,
                         int position)
        This implementation looks for the longest matching string. For example, parsing Etc/GMT-2 will return Etc/GMC-2 rather than just Etc/GMC although both are valid.

        This implementation uses a tree to search for valid time-zone names in the parseText. The top level node of the tree has a length equal to the length of the shortest time-zone as well as the beginning characters of all other time-zones.

        Specified by:
        parse in interface DateTimeParser
        Parameters:
        context - the context to use and parse into, not null
        parseText - the input text to parse, not null
        position - the position to start parsing at, from 0 to the text length
        Returns:
        the new parse position, where negative means an error with the error position encoded using the complement ~ operator
      • prepareParser

        private static ZonePrinterParser.SubstringTree prepareParser​(java.util.Set<java.lang.String> availableIDs)
        Builds an optimized parsing tree.
        Parameters:
        availableIDs - the available IDs, not null, not empty
        Returns:
        the tree, never null
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object