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 26 33 public class CountFunction extends SimpleNode { 34 35 42 public CountFunction(int id) { 43 super(id); 44 } 45 46 54 public CountFunction(Parser p, int id) { 55 super(p, id); 56 } 57 58 68 public String toNormalizedString() { 69 70 String normalized = ""; 71 72 normalized = "count(" + jjtGetChild(0).toNormalizedString() + ")"; 73 74 return normalized; 75 } 76 77 94 public Object evaluate(PageContext pageContext, IterationContext icontext) 95 throws EvaluationException { 96 97 JSPList result; 98 99 try { 100 result = Convert.toJSPList(jjtGetChild(0).evaluate(pageContext, 101 icontext)); 102 } catch (ConversionException ce) { 103 throw new EvaluationException(this, ce.getMessage()); 104 } 105 106 return new Double (result.getLast()); 107 } 108 } 109 | Popular Tags |