1 16 17 package org.apache.taglibs.standard.lang.jpath.expression; 18 19 import javax.servlet.jsp.PageContext ; 20 21 import org.apache.taglibs.standard.lang.jpath.adapter.ConversionException; 22 import org.apache.taglibs.standard.lang.jpath.adapter.Convert; 23 import org.apache.taglibs.standard.lang.jpath.adapter.IterationContext; 24 import org.apache.taglibs.standard.lang.jpath.adapter.JSPList; 25 import org.apache.taglibs.standard.lang.jpath.adapter.JSPListUnion; 26 27 34 public class UnionOperator extends SimpleNode { 35 36 43 public UnionOperator(int id) { 44 super(id); 45 } 46 47 55 public UnionOperator(Parser p, int id) { 56 super(p, id); 57 } 58 59 69 public String toNormalizedString() { 70 71 String normalized = ""; 72 73 normalized = "(" + jjtGetChild(0).toNormalizedString() + " " 74 + getTokenImage(ParserConstants.UNION) + " " 75 + jjtGetChild(1).toNormalizedString() + ")"; 76 77 return normalized; 78 } 79 80 97 public Object evaluate(PageContext pageContext, IterationContext icontext) 98 throws EvaluationException { 99 100 JSPList result; 101 102 try { 103 JSPList leftSide = 104 Convert.toJSPList(jjtGetChild(0).evaluate(pageContext, 105 icontext)); 106 JSPList rightSide = 107 Convert.toJSPList(jjtGetChild(1).evaluate(pageContext, 108 icontext)); 109 110 result = new JSPListUnion(leftSide, rightSide); 111 } catch (ConversionException ce) { 112 throw new EvaluationException(this, ce.getMessage()); 113 } 114 115 return result; 116 } 117 } 118 | Popular Tags |