View Javadoc

    1   /* Generated By:JJTree: Do not edit this line. SimpleNode.java */
    2
    3   package org.codehaus.aspectwerkz.expression.ast;
    4
    5   public class SimpleNode implements Node {
    6       protected Node parent;
    7
    8       protected Node[] children;
    9
    10      protected int id;
    11
    12      protected ExpressionParser parser;
    13
    14      public SimpleNode(int i) {
    15          id = i;
    16      }
    17
    18      public SimpleNode(ExpressionParser p, int i) {
    19          this(i);
    20          parser = p;
    21      }
    22
    23      public void jjtOpen() {
    24      }
    25
    26      public void jjtClose() {
    27      }
    28
    29      public void jjtSetParent(Node n) {
    30          parent = n;
    31      }
    32
    33      public Node jjtGetParent() {
    34          return parent;
    35      }
    36
    37      public void jjtAddChild(Node n, int i) {
    38          if (children == null) {
    39              children = new Node[i + 1];
    40          } else if (i >= children.length) {
    41              Node c[] = new Node[i + 1];
    42              System.arraycopy(children, 0, c, 0, children.length);
    43              children = c;
    44          }
    45          children[i] = n;
    46      }
    47
    48      public Node jjtGetChild(int i) {
    49          return children[i];
    50      }
    51
    52      public int jjtGetNumChildren() {
    53          return (children == null) ? 0 : children.length;
    54      }
    55
    56      /***
    57       * Accept the visitor. *
    58       */
    59      public Object jjtAccept(ExpressionParserVisitor visitor, Object data) {
    60          return visitor.visit(this, data);
    61      }
    62
    63      /***
    64       * Accept the visitor. *
    65       */
    66      public Object childrenAccept(ExpressionParserVisitor visitor, Object data) {
    67          if (children != null) {
    68              for (int i = 0; i < children.length; ++i) {
    69                  children[i].jjtAccept(visitor, data);
    70              }
    71          }
    72          return data;
    73      }
    74
    75      /*
    76       * You can override these two methods in subclasses of SimpleNode to customize the way the node appears when the
    77       * tree is dumped. If your output uses more than one line you should override toString(String), otherwise overriding
    78       * toString() is probably all you need to do.
    79       */
    80
    81      public String toString() {
    82          return ExpressionParserTreeConstants.jjtNodeName[id];
    83      }
    84
    85      public String toString(String prefix) {
    86          return prefix + toString();
    87      }
    88
    89      /*
    90       * Override this method if you want to customize how the node dumps out its children.
    91       */
    92
    93      public void dump(String prefix) {
    94          System.out.println(toString(prefix));
    95          if (children != null) {
    96              for (int i = 0; i < children.length; ++i) {
    97                  SimpleNode n = (SimpleNode) children[i];
    98                  if (n != null) {
    99                      n.dump(prefix + " ");
    100                 }
    101             }
    102         }
    103     }
    104 }
    105