1
2
3
4
5 package com.randomnoun.common.jexl.ast;
6
7 import java.util.*;
8
9
10
11
12 public class NodeListOptional implements NodeListInterface {
13 public NodeListOptional() {
14 nodes = new Vector<Node>();
15 }
16
17 public NodeListOptional(Node firstNode) {
18 nodes = new Vector<Node>();
19 addNode(firstNode);
20 }
21
22 public void addNode(Node n) {
23 nodes.addElement(n);
24 }
25
26 public Enumeration<Node> elements() { return nodes.elements(); }
27 public Node elementAt(int i) { return nodes.elementAt(i); }
28 public int size() { return nodes.size(); }
29 public boolean present() { return nodes.size() != 0; }
30 public void accept(com.randomnoun.common.jexl.visitor.Visitor v) {
31 v.visit(this);
32 }
33 public <R,A> R accept(com.randomnoun.common.jexl.visitor.GJVisitor<R,A> v, A argu) {
34 return v.visit(this,argu);
35 }
36 public <R> R accept(com.randomnoun.common.jexl.visitor.GJNoArguVisitor<R> v) {
37 return v.visit(this);
38 }
39 public <A> void accept(com.randomnoun.common.jexl.visitor.GJVoidVisitor<A> v, A argu) {
40 v.visit(this,argu);
41 }
42
43 public Vector<Node> nodes;
44 }
45