org.geolatte.common.cql.node.Node Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of geolatte-common Show documentation
Show all versions of geolatte-common Show documentation
This GeoLatte-common library contains the transformer framework and other common classes used by other
GeoLatte modules.
/* This file was generated by SableCC (http://www.sablecc.org/). */
package org.geolatte.common.cql.node;
import java.util.*;
@SuppressWarnings("nls")
public abstract class Node implements Switchable, Cloneable
{
private Node parent;
@Override
public abstract Object clone();
public Node parent()
{
return this.parent;
}
void parent(@SuppressWarnings("hiding") Node parent)
{
this.parent = parent;
}
abstract void removeChild(Node child);
abstract void replaceChild(Node oldChild, Node newChild);
public void replaceBy(Node node)
{
this.parent.replaceChild(this, node);
}
protected String toString(Node node)
{
if(node != null)
{
return node.toString();
}
return "";
}
protected String toString(List list)
{
StringBuffer s = new StringBuffer();
for(Iterator i = list.iterator(); i.hasNext();)
{
s.append(i.next());
}
return s.toString();
}
@SuppressWarnings("unchecked")
protected T cloneNode(T node)
{
if(node != null)
{
return (T) node.clone();
}
return null;
}
protected List cloneList(List list)
{
List clone = new LinkedList();
for(T n : list)
{
clone.add(n);
}
return clone;
}
}