org.geotools.referencing.wkt
Class Element

Object
  extended by 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
 String keyword
          Keyword of this entity.
 
Method Summary
 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).


Copyright © 1996-2014 Geotools. All Rights Reserved.