Add classes for visitor traversal
[cql-java-moved-to-github.git] / src / main / java / org / z3950 / zing / cql / CQLOrNode.java
1
2 package org.z3950.zing.cql;
3
4
5 /**
6  * Represents an OR node in a CQL parse-tree.
7  *
8  */
9 public class CQLOrNode extends CQLBooleanNode {
10     /**
11      * Creates a new OR node with the specified left- and right-hand
12      * sides and modifiers.
13      */
14     public CQLOrNode(CQLNode left, CQLNode right, ModifierSet ms) {
15         super(left, right, ms);
16     }
17
18     @Override
19     public void traverse(CQLNodeVisitor visitor) {
20       visitor.onOrNode(this);
21       super.traverse(visitor);
22     }
23
24     @Override
25     byte[] opType1() {
26         byte[] op = new byte[5];
27         putTag(CONTEXT, 46, CONSTRUCTED, op, 0); // Operator
28         putLen(2, op, 2);
29         putTag(CONTEXT, 1, PRIMITIVE, op, 3); // or
30         putLen(0, op, 4);
31         return op;
32     }
33 }