/* Generated By:FreeCC 0.90: Do not edit. Node.java.java */

package freemarker.core;


public interface Node {

    
    /** This method is called after the node has been made the current
	 *  node.  It indicates that child nodes can now be added to it. 
	 */
    void jjtOpen();

    
    /** 
  	 * This method is called after all the child nodes have been
     * added. 
     */
    void jjtClose();

    
    /** 
     * This pair of methods are used to inform the node of its
     *  parent. 
     */
    void jjtSetParent(Node n);

    Node jjtGetParent();

    
    /** This method tells the node to add its argument to the node's
    list of children.  */
    void jjtAddChild(Node n, int i);

    
    /** This method returns a child node.  The children are numbered
     from zero, left to right. */
    Node jjtGetChild(int i);

    
    /** 
     * Return the number of children the node has. 
     */
    int jjtGetNumChildren();

    String getInputSource();

    void setInputSource(String inputSource);

    int getBeginLine();

    int getEndLine();

    int getBeginColumn();

    int getEndColumn();

    void setBeginLine(int beginLine);

    void setEndLine(int endLine);

    void setBeginColumn(int beginColumn);

    void setEndColumn(int endColumn);
}

