001// 002// Generated by JTB 1.3.2 003// 004 005package com.randomnoun.common.jexl.ast; 006 007import java.util.*; 008 009/** 010 * Represents a sequence of nodes nested within a choice, list, 011 * optional list, or optional, e.g. ( A B )+ or [ C D E ] 012 */ 013public class NodeSequence implements NodeListInterface { 014 public NodeSequence(int n) { 015 nodes = new Vector<Node>(n); 016 } 017 018 public NodeSequence(Node firstNode) { 019 nodes = new Vector<Node>(); 020 addNode(firstNode); 021 } 022 023 public void addNode(Node n) { 024 nodes.addElement(n); 025 } 026 027 public Node elementAt(int i) { return nodes.elementAt(i); } 028 public Enumeration<Node> elements() { return nodes.elements(); } 029 public int size() { return nodes.size(); } 030 public void accept(com.randomnoun.common.jexl.visitor.Visitor v) { 031 v.visit(this); 032 } 033 public <R,A> R accept(com.randomnoun.common.jexl.visitor.GJVisitor<R,A> v, A argu) { 034 return v.visit(this,argu); 035 } 036 public <R> R accept(com.randomnoun.common.jexl.visitor.GJNoArguVisitor<R> v) { 037 return v.visit(this); 038 } 039 public <A> void accept(com.randomnoun.common.jexl.visitor.GJVoidVisitor<A> v, A argu) { 040 v.visit(this,argu); 041 } 042 043 public Vector<Node> nodes; 044} 045