196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project/* Generated By:JJTree: Do not edit this line. Node.java */
296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectpackage org.apache.james.mime4j.field.address.parser;
496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project/* All AST nodes must implement this interface.  It provides basic
696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project   machinery for constructing the parent and child relationships
796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project   between nodes. */
896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectpublic interface Node {
1096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
1196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** This method is called after the node has been made the current
1296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    node.  It indicates that child nodes can now be added to it. */
1396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public void jjtOpen();
1496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
1596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** This method is called after all the child nodes have been
1696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    added. */
1796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public void jjtClose();
1896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
1996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** This pair of methods are used to inform the node of its
2096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    parent. */
2196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public void jjtSetParent(Node n);
2296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public Node jjtGetParent();
2396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
2496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** This method tells the node to add its argument to the node's
2596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    list of children.  */
2696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public void jjtAddChild(Node n, int i);
2796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
2896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** This method returns a child node.  The children are numbered
2996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     from zero, left to right. */
3096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public Node jjtGetChild(int i);
3196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
3296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** Return the number of children the node has. */
3396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public int jjtGetNumChildren();
3496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
3596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  /** Accept the visitor. **/
3696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project  public Object jjtAccept(AddressListParserVisitor visitor, Object data);
3796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project}
38