1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jxpath.ri.compiler;
17
18 import org.apache.commons.jxpath.ri.EvalContext;
19 import org.apache.commons.jxpath.ri.InfoSetUtil;
20
21 /***
22 * Implementation of Expression for the operation "+".
23 *
24 * @author Dmitri Plotnikov
25 * @version $Revision: 1.3 $ $Date: 2004/02/29 14:17:38 $
26 */
27 public class CoreOperationAdd extends CoreOperation {
28
29 public CoreOperationAdd(Expression[] args) {
30 super(args);
31 }
32
33 public Object computeValue(EvalContext context) {
34 double s = 0.0;
35 for (int i = 0; i < args.length; i++) {
36 s += InfoSetUtil.doubleValue(args[i].computeValue(context));
37 }
38 return new Double(s);
39 }
40
41 protected int getPrecedence() {
42 return 4;
43 }
44
45 protected boolean isSymmetric() {
46 return true;
47 }
48
49 public String getSymbol() {
50 return "+";
51 }
52 }