Class Element

Object
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 Details

    • keyword

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

    • 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).