001// 002// Generated by JTB 1.3.2 003// 004 005package com.randomnoun.common.jexl.ast; 006 007import java.util.*; 008 009/** 010 * Represents an optional grammar list, e.g. ( A )* 011 */ 012public class NodeListOptional implements NodeListInterface { 013 public NodeListOptional() { 014 nodes = new Vector<Node>(); 015 } 016 017 public NodeListOptional(Node firstNode) { 018 nodes = new Vector<Node>(); 019 addNode(firstNode); 020 } 021 022 public void addNode(Node n) { 023 nodes.addElement(n); 024 } 025 026 public Enumeration<Node> elements() { return nodes.elements(); } 027 public Node elementAt(int i) { return nodes.elementAt(i); } 028 public int size() { return nodes.size(); } 029 public boolean present() { return nodes.size() != 0; } 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