001    /* Generated By:JJTree: Do not edit this line. SimpleNode.java */
002    
003    package net.sourceforge.javajson.parser;
004    
005    public class SimpleNode extends net.sourceforge.javajson.parser.MyNode implements Node {
006      protected Node parent;
007      protected Node[] children;
008      protected int id;
009      protected JsonParser parser;
010    
011      public SimpleNode(int i) {
012        id = i;
013      }
014    
015      public SimpleNode(JsonParser p, int i) {
016        this(i);
017        parser = p;
018      }
019    
020      public void jjtOpen() {
021      }
022    
023      public void jjtClose() {
024      }
025      
026      public void jjtSetParent(Node n) { parent = n; }
027      public Node jjtGetParent() { return parent; }
028    
029      public void jjtAddChild(Node n, int i) {
030        if (children == null) {
031          children = new Node[i + 1];
032        } else if (i >= children.length) {
033          Node c[] = new Node[i + 1];
034          System.arraycopy(children, 0, c, 0, children.length);
035          children = c;
036        }
037        children[i] = n;
038      }
039    
040      public Node jjtGetChild(int i) {
041        return children[i];
042      }
043    
044      public int jjtGetNumChildren() {
045        return (children == null) ? 0 : children.length;
046      }
047    
048      /* You can override these two methods in subclasses of SimpleNode to
049         customize the way the node appears when the tree is dumped.  If
050         your output uses more than one line you should override
051         toString(String), otherwise overriding toString() is probably all
052         you need to do. */
053    
054      public String toString() { return JsonParserTreeConstants.jjtNodeName[id]; }
055      public String toString(String prefix) { return prefix + toString(); }
056    
057      /* Override this method if you want to customize how the node dumps
058         out its children. */
059    
060      public void dump(String prefix) {
061        System.out.println(toString(prefix));
062        if (children != null) {
063          for (int i = 0; i < children.length; ++i) {
064            SimpleNode n = (SimpleNode)children[i];
065            if (n != null) {
066              n.dump(prefix + " ");
067            }
068          }
069        }
070      }
071    }
072