org.geotools.referencing.wkt
Class Element

java.lang.Object
  extended by org.geotools.referencing.wkt.Element

public final class Element
extends java.lang.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
Version:
$Id: Element.java 33399 2009-06-30 11:25:55Z aaime $
Author:
Remi Eve, Martin Desruisseaux (IRD)

Field Summary
 java.lang.String keyword
          Keyword of this entity.
 
Method Summary
 void close()
          Close this element.
 boolean isRoot()
          Returns true if this element is the root element.
 java.text.ParseException parseFailed(java.lang.Exception cause, java.lang.String message)
          Returns a ParseException with the specified cause.
 java.lang.Object peek()
          Returns the next element, or null if there is no more element.
 void print(java.io.PrintWriter out, int level)
          Print this Element as a tree.
 double pullDouble(java.lang.String key)
          Removes the next Number from the list and returns it.
 Element pullElement(java.lang.String key)
          Removes the next Element from the list and returns it.
 int pullInteger(java.lang.String key)
          Removes the next Number from the list and returns it as an integer.
 Element pullOptionalElement(java.lang.String key)
          Removes the next Element from the list and returns it.
 java.lang.String pullOptionalString(java.lang.String key)
          Removes the next String from the list and returns it.
 java.lang.String pullString(java.lang.String key)
          Removes the next String from the list and returns it.
 Element pullVoidElement(java.lang.String key)
          Removes and returns the next Element with no bracket.
 java.lang.String toString()
          Returns the keyword.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

keyword

public final java.lang.String keyword
Keyword of this entity. For example: "PRIMEM".

Method Detail

parseFailed

public java.text.ParseException parseFailed(java.lang.Exception cause,
                                            java.lang.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(java.lang.String key)
                  throws java.text.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:
java.text.ParseException - if no more number is available.

pullInteger

public int pullInteger(java.lang.String key)
                throws java.text.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:
java.text.ParseException - if no more number is available, or the number is not an integer.

pullString

public java.lang.String pullString(java.lang.String key)
                            throws java.text.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:
java.text.ParseException - if no more string is available.

pullOptionalString

public java.lang.String pullOptionalString(java.lang.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(java.lang.String key)
                    throws java.text.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:
java.text.ParseException - if no more element is available.

pullOptionalElement

public Element pullOptionalElement(java.lang.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(java.lang.String key)
                        throws java.text.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:
java.text.ParseException - if no more void element is available.

peek

public java.lang.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 java.text.ParseException
Close this element.

Throws:
java.text.ParseException - If the list still contains some unprocessed elements.

toString

public java.lang.String toString()
Returns the keyword. This overriding is needed for correct formatting of the error message in close().

Overrides:
toString in class java.lang.Object

print

public void print(java.io.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-2010 Geotools. All Rights Reserved.