/* ***********************************************************************
* This is used by the MysqlGeometryLayer.
* This program is distributed freely and in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* Copyright 2003 by the Author
*
* Author name: Uwe Baier uwe.baier@gmx.net
* Version 1.0
* ***********************************************************************
*/
package com.bbn.openmap.layer.mysql;
import java.util.Vector;
/**
* This class represents a Node used to construct a tree while parsing
* the WKT (text) representation of the Geometry.
*
* Copyright 2003 by the Author <br>
* <p>
*
* @author Uwe Baier uwe.baier@gmx.net <br>
* @version 1.0 <br>
*/
public class WKTNode {
private boolean root = false;
private boolean leaf = false;
private Vector children = new Vector();
private WKTNode parent;
private String geoWKT = "";
/**
* Returns the geoWKT.
*
* @return String
*/
public String getGeoWKT() {
return geoWKT;
}
/**
* Returns the leaf.
*
* @return boolean
*/
public boolean isLeaf() {
return leaf;
}
/**
* Returns the parent.
*
* @return WKTNode
*/
public WKTNode getParent() {
return parent;
}
/**
* Returns the root.
*
* @return boolean
*/
public boolean isRoot() {
return root;
}
/**
* Sets the geoWKT.
*
* @param c The geoWKT to set
*/
public void adToGeoWKT(char[] c) {
this.geoWKT = geoWKT.concat(new String(c));
}
/**
* Sets the leaf.
*
* @param leaf The leaf to set
*/
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
/**
* Sets the parent.
*
* @param parent The parent to set
*/
public void setParent(WKTNode parent) {
this.parent = parent;
}
/**
* Sets the root.
*
* @param root The root to set
*/
public void setRoot(boolean root) {
this.root = root;
}
public int countChildren() {
return this.children.size();
}
public void adChild(WKTNode n) {
this.children.add(n);
n.setParent(this);
}
public WKTNode getChildByNumber(int i) {
return (WKTNode) this.children.elementAt(i);
}
}