View Javadoc
1   //
2   // Generated by JTB 1.3.2
3   //
4   
5   package com.randomnoun.common.jexl.ast;
6   
7   /**
8    * Represents an grammar optional node, e.g. ( A )? or [ A ]
9    */
10  public class NodeOptional implements Node {
11     public NodeOptional() {
12        node = null;
13     }
14  
15     public NodeOptional(Node n) {
16        addNode(n);
17     }
18  
19     public void addNode(Node n)  {
20        if ( node != null)                // Oh oh!
21           throw new Error("Attempt to set optional node twice");
22  
23        node = n;
24     }
25     public void accept(com.randomnoun.common.jexl.visitor.Visitor v) {
26        v.visit(this);
27     }
28     public <R,A> R accept(com.randomnoun.common.jexl.visitor.GJVisitor<R,A> v, A argu) {
29        return v.visit(this,argu);
30     }
31     public <R> R accept(com.randomnoun.common.jexl.visitor.GJNoArguVisitor<R> v) {
32        return v.visit(this);
33     }
34     public <A> void accept(com.randomnoun.common.jexl.visitor.GJVoidVisitor<A> v, A argu) {
35        v.visit(this,argu);
36     }
37     public boolean present()   { return node != null; }
38  
39     public Node node;
40  }
41