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 Summary

      Fields 
      Modifier and Type Field Description
      String keyword
      Keyword of this entity.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Close this element.
      boolean isRoot()
      Returns true if this element is the root element.
      ParseException parseFailed​(Exception cause, String message)
      Returns a ParseException with the specified cause.
      Object peek()
      Returns the next element, or null if there is no more element.
      void print​(PrintWriter out, int level)
      Print this Element as a tree.
      double pullDouble​(String key)
      Removes the next Number from the list and returns it.
      Element pullElement​(String key)
      Removes the next Element from the list and returns it.
      int pullInteger​(String key)
      Removes the next Number from the list and returns it as an integer.
      Element pullOptionalElement​(String key)
      Removes the next Element from the list and returns it.
      String pullOptionalString​(String key)
      Removes the next String from the list and returns it.
      Element pullOptionalVoidElement()
      Removes and returns the next Element with no bracket, if available, or null otherwise.
      String pullString​(String key)
      Removes the next String from the list and returns it.
      Element pullVoidElement​(String key)
      Removes and returns the next Element with no bracket.
      String toString()
      Returns the keyword.
      • Methods inherited from class Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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).