Coverage report

| %line | %branch
--- | --- | ---
org.apache.commons.jexl.parser.SimpleNode |
49% |
87% |

1 |  |
     /*
2 |  |
      * Copyright 2002-2006 The Apache Software Foundation.
3 |  |
      *
4 |  |
      * Licensed under the Apache License, Version 2.0 (the "License");
5 |  |
      * you may not use this file except in compliance with the License.
6 |  |
      * You may obtain a copy of the License at
7 |  |
      *
8 |  |
      *      http://www.apache.org/licenses/LICENSE-2.0
9 |  |
      *
10 |  |
      * Unless required by applicable law or agreed to in writing, software
11 |  |
      * distributed under the License is distributed on an "AS IS" BASIS,
12 |  |
      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  |
      * See the License for the specific language governing permissions and
14 |  |
      * limitations under the License.
15 |  |
      */
16 |  |
17 |  |
     package org.apache.commons.jexl.parser;
18 |  |
19 |  |
     import org.apache.commons.jexl.JexlContext;
20 |  |
21 |  |
     /**
22 |  |
      * A Useful implementation of {@link Node}. Mostly autogenerated by javacc
23 |  |
      *
24 |  |
      * @author <a href="mailto:geirm@apache.org">Geir Magnusson Jr.</a>
25 |  |
      * @version $Id: SimpleNode.java 398328 2006-04-30 12:46:59Z dion $
26 |  |
      */
27 |  |
     public class SimpleNode implements Node {
28 |  |
         /** parent node. */
29 |  |
         protected Node parent;
30 |  |
31 |  |
         /** children of this node. */
32 |  |
         protected Node[] children;
33 |  |
34 |  |
         /** id of the node. */
35 |  |
         protected int id;
36 |  |
37 |  |
         /** parser that created the node. */
38 |  |
         protected Parser parser;
39 |  |
40 |  |
         /**
41 |  |
          * Create the node given an id.
42 |  |
          *
43 |  |
          * @param i node id.
44 |  |
          */
45 | 2434 |
         public SimpleNode(int i) {
46 | 2434 |
             id = i;
47 | 2434 |
         }
48 |  |
49 |  |
         /**
50 |  |
          * Create a node with the given parser and id.
51 |  |
          *
52 |  |
          * @param p a parser.
53 |  |
          * @param i node id.
54 |  |
          */
55 |  |
         public SimpleNode(Parser p, int i) {
56 | 2434 |
             this(i);
57 | 2434 |
             parser = p;
58 | 2434 |
         }
59 |  |
60 |  |
         /**
61 |  |
          * Start of the node.
62 |  |
          */
63 |  |
         public void jjtOpen() {
64 | 2434 |
         }
65 |  |
66 |  |
         /**
67 |  |
          * End of the node.
68 |  |
          */
69 |  |
         public void jjtClose() {
70 | 2071 |
         }
71 |  |
72 |  |
         /** {@inheritDoc} */
73 |  |
         public void jjtSetParent(Node n) {
74 | 2140 |
             parent = n;
75 | 2140 |
         }
76 |  |
77 |  |
         /** {@inheritDoc} */
78 |  |
         public Node jjtGetParent() {
79 | 0 |
             return parent;
80 |  |
         }
81 |  |
82 |  |
         /** {@inheritDoc} */
83 |  |
         public void jjtAddChild(Node n, int i) {
84 | 2140 |
             if (children == null) {
85 | 1677 |
                 children = new Node[i + 1];
86 | 463 |
             } else if (i >= children.length) {
87 | 0 |
                 Node[] c = new Node[i + 1];
88 | 0 |
                 System.arraycopy(children, 0, c, 0, children.length);
89 | 0 |
                 children = c;
90 |  |
             }
91 |  |
92 | 2140 |
             children[i] = n;
93 | 2140 |
         }
94 |  |
95 |  |
         /** {@inheritDoc} */
96 |  |
         public Node jjtGetChild(int i) {
97 | 2511 |
             return children[i];
98 |  |
         }
99 |  |
100 |  |
         /** {@inheritDoc} */
101 |  |
         public int jjtGetNumChildren() {
102 | 946 |
             return (children == null) ? 0 : children.length;
103 |  |
         }
104 |  |
105 |  |
         /**
106 |  |
          * Accept the visitor.
107 |  |
          *
108 |  |
          * @param visitor a {@link ParserVisitor}.
109 |  |
          * @param data data to be passed along to the visitor.
110 |  |
          * @return the value from visiting.
111 |  |
          * @see ParserVisitor#visit
112 |  |
          */
113 |  |
         public Object jjtAccept(ParserVisitor visitor, Object data) {
114 | 0 |
             return visitor.visit(this, data);
115 |  |
         }
116 |  |
117 |  |
         /**
118 |  |
          * Visit all children.
119 |  |
          *
120 |  |
          * @param visitor a {@link ParserVisitor}.
121 |  |
          * @param data data to be passed along to the visitor.
122 |  |
          * @return the value from visiting.
123 |  |
          * @see ParserVisitor#visit
124 |  |
          */
125 |  |
         public Object childrenAccept(ParserVisitor visitor, Object data) {
126 | 0 |
             if (children != null) {
127 | 0 |
                 for (int i = 0; i < children.length; ++i) {
128 | 0 |
                     children[i].jjtAccept(visitor, data);
129 |  |
                 }
130 |  |
             }
131 | 0 |
             return data;
132 |  |
         }
133 |  |
134 |  |
         /**
135 |  |
          * Gets a string representation of the node.
136 |  |
          * @return the node name.
137 |  |
          */
138 |  |
         public String toString() {
139 | 0 |
             return ParserTreeConstants.jjtNodeName[id];
140 |  |
         }
141 |  |
142 |  |
         /**
143 |  |
          * Used during dumping to output the node with a prefix.
144 |  |
          * @param prefix text to prefix {@link #toString()}
145 |  |
          * @return text.
146 |  |
          */
147 |  |
         public String toString(String prefix) {
148 | 0 |
             return prefix + toString();
149 |  |
         }
150 |  |
151 |  |
         /**
152 |  |
          * Dump the node and all children.
153 |  |
          * @param prefix text to prefix the node output.
154 |  |
          */
155 |  |
         public void dump(String prefix) {
156 | 0 |
             System.out.println(toString(prefix));
157 |  |
158 | 0 |
             if (children != null) {
159 | 0 |
                 for (int i = 0; i < children.length; ++i) {
160 | 0 |
                     SimpleNode n = (SimpleNode) children[i];
161 |  |
162 | 0 |
                     if (n != null) {
163 | 0 |
                         n.dump(prefix + " ");
164 |  |
                     }
165 |  |
                 }
166 |  |
             }
167 | 0 |
         }
168 |  |
169 |  |
         /**
170 |  |
          * basic interpret - just invoke interpret on all children.
171 |  |
          * @param pc the {@link JexlContext context} to interpret against.
172 |  |
          * @return true if interpretation worked.
173 |  |
          * @throws Exception on any error.
174 |  |
          */
175 |  |
         public boolean interpret(JexlContext pc) throws Exception {
176 | 39 |
             for (int i = 0; i < jjtGetNumChildren(); i++) {
177 | 18 |
                 SimpleNode node = (SimpleNode) jjtGetChild(i);
178 | 18 |
                 if (!node.interpret(pc)) {
179 | 0 |
                     return false;
180 |  |
                 }
181 |  |
             }
182 |  |
183 | 21 |
             return true;
184 |  |
         }
185 |  |
186 |  |
         /**
187 |  |
          * Gets the value of this node.
188 |  |
          *
189 |  |
          * @param context the context to retrieve values from.
190 |  |
          * @return the value of the node.
191 |  |
          * @throws Exception when evaluating the operands fails.
192 |  |
          */
193 |  |
         public Object value(JexlContext context) throws Exception {
194 | 0 |
             return null;
195 |  |
         }
196 |  |
197 |  |
         /**
198 |  |
          * Sets the value for the node - again, only makes sense for some nodes but
199 |  |
          * lazyness tempts me to put it here. Keeps things simple.
200 |  |
          *
201 |  |
          * @param context the context to retrieve values from.
202 |  |
          * @param value the value.
203 |  |
          * @return the result.
204 |  |
          * @throws Exception when evaluating the operands fails.
205 |  |
          */
206 |  |
         public Object setValue(JexlContext context, Object value) throws Exception {
207 | 0 |
             return null;
208 |  |
         }
209 |  |
210 |  |
         /**
211 |  |
          * Used to let a node calcuate it's value..
212 |  |
          * @param o the object to calculate with.
213 |  |
          * @param ctx the context to retrieve values from.
214 |  |
          * @throws Exception when calculating the value fails.
215 |  |
          * @return the result of the calculation.
216 |  |
          */
217 |  |
         public Object execute(Object o, JexlContext ctx) throws Exception {
218 | 0 |
             return null;
219 |  |
         }
220 |  |
     }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.