1 16 package org.apache.commons.jxpath.ri.compiler; 17 18 import org.apache.commons.jxpath.ri.EvalContext; 19 import org.apache.commons.jxpath.ri.axes.UnionContext; 20 21 27 public class CoreOperationUnion extends CoreOperation { 28 29 public CoreOperationUnion(Expression args[]) { 30 super(args); 31 } 32 33 public Object computeValue(EvalContext context) { 34 EvalContext argCtxs[] = new EvalContext[args.length]; 35 for (int i = 0; i < args.length; i++) { 36 Object value = args[i].compute(context); 37 if (value instanceof EvalContext) { 38 argCtxs[i] = (EvalContext) value; 39 } 40 else { 41 argCtxs[i] = context.getRootContext().getConstantContext(value); 42 } 43 } 44 return new UnionContext(context.getRootContext(), argCtxs); 45 } 46 47 protected int getPrecedence() { 48 return 7; 49 } 50 51 protected boolean isSymmetric() { 52 return true; 53 } 54 55 public String getSymbol() { 56 return "|"; 57 } 58 } 59 | Popular Tags |