Class Element


  • public final class Element
    extends Object
    An element in a Well Know Text (WKT). A Element is made of String, Number and other Element. For example:
     PRIMEM["Greenwich", 0.0, AUTHORITY["some authority", "Greenwich"]]
     
    Each Element object can contains an arbitrary amount of other elements. The result is a tree, which can be printed with print(java.io.PrintWriter, int). Elements can be pull in a first in, first out order.
    Since:
    2.0
    Author:
    Remi Eve, Martin Desruisseaux (IRD)
    • Field Detail

      • keyword

        public final String keyword
        Keyword of this entity. For example: "PRIMEM".
    • Method Detail

      • parseFailed

        public ParseException parseFailed​(Exception cause,
                                          String message)
        Returns a ParseException with the specified cause. A localized string "Error in <keyword>" will be prepend to the message. The error index will be the starting index of this Element.
        Parameters:
        cause - The cause of the failure, or null if none.
        message - The message explaining the cause of the failure, or null for reusing the same message than cause.
        Returns:
        The exception to be thrown.
      • isRoot

        public boolean isRoot()
        Returns true if this element is the root element. For example in a WKT like "GEOGCS["name", DATUM["name, ...]]", this is true for "GEOGCS" and false for all other elements inside, like "DATUM".
        Returns:
        true if this element is the root element.
        Since:
        2.3
      • pullDouble

        public double pullDouble​(String key)
                          throws ParseException
        Removes the next Number from the list and returns it.
        Parameters:
        key - The parameter name. Used for formatting an error message if no number are found.
        Returns:
        The next Number on the list as a double.
        Throws:
        ParseException - if no more number is available.
      • pullInteger

        public int pullInteger​(String key)
                        throws ParseException
        Removes the next Number from the list and returns it as an integer.
        Parameters:
        key - The parameter name. Used for formatting an error message if no number are found.
        Returns:
        The next Number on the list as an int.
        Throws:
        ParseException - if no more number is available, or the number is not an integer.
      • pullString

        public String pullString​(String key)
                          throws ParseException
        Removes the next String from the list and returns it.
        Parameters:
        key - The parameter name. Used for formatting an error message if no number are found.
        Returns:
        The next String on the list.
        Throws:
        ParseException - if no more string is available.
      • pullOptionalString

        public String pullOptionalString​(String key)
        Removes the next String from the list and returns it.
        Parameters:
        key - The parameter name. Used for formatting an error message if no number are found.
        Returns:
        The next String on the list or null if no more element is available.
      • pullElement

        public Element pullElement​(String key)
                            throws ParseException
        Removes the next Element from the list and returns it.
        Parameters:
        key - The element name (e.g. "PRIMEM").
        Returns:
        The next Element on the list.
        Throws:
        ParseException - if no more element is available.
      • pullOptionalElement

        public Element pullOptionalElement​(String key)
        Removes the next Element from the list and returns it.
        Parameters:
        key - The element name (e.g. "PRIMEM").
        Returns:
        The next Element on the list, or null if no more element is available.
      • pullVoidElement

        public Element pullVoidElement​(String key)
                                throws ParseException
        Removes and returns the next Element with no bracket. The key is used only for only for formatting an error message.
        Parameters:
        key - The parameter name. Used only for formatting an error message.
        Returns:
        The next Element in the list, with no bracket.
        Throws:
        ParseException - if no more void element is available.
      • pullOptionalVoidElement

        public Element pullOptionalVoidElement()
                                        throws ParseException
        Removes and returns the next Element with no bracket, if available, or null otherwise.
        Returns:
        The next Element in the list, with no bracket, or null if none was found
        Throws:
        ParseException - if no more void element is available.
      • peek

        public Object peek()
        Returns the next element, or null if there is no more element. The element is not removed from the list.
        Returns:
        The next element, or null if there is no more elements.
      • close

        public void close()
                   throws ParseException
        Close this element.
        Throws:
        ParseException - If the list still contains some unprocessed elements.
      • toString

        public String toString()
        Returns the keyword. This overriding is needed for correct formatting of the error message in close().
        Overrides:
        toString in class Object
      • print

        public void print​(PrintWriter out,
                          int level)
        Print this Element as a tree. This method is used for debugging purpose only.
        Parameters:
        out - The output stream.
        level - The indentation level (usually 0).