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 25 32 public class ModulusOperator extends SimpleNode { 33 34 41 public ModulusOperator(int id) { 42 super(id); 43 } 44 45 53 public ModulusOperator(Parser p, int id) { 54 super(p, id); 55 } 56 57 67 public String toNormalizedString() { 68 69 String normalized = ""; 70 71 normalized = "(" + jjtGetChild(0).toNormalizedString() + " " 72 + getTokenImage(ParserConstants.MOD) + " " 73 + jjtGetChild(1).toNormalizedString() + ")"; 74 75 return normalized; 76 } 77 78 95 public Object evaluate(PageContext pageContext, IterationContext icontext) 96 throws EvaluationException { 97 98 Double result; 99 100 try { 101 double leftSide = 102 Convert.toDouble(jjtGetChild(0).evaluate(pageContext, 103 icontext)).doubleValue(); 104 double rightSide = 105 Convert.toDouble(jjtGetChild(1).evaluate(pageContext, 106 icontext)).doubleValue(); 107 108 result = new Double (leftSide % rightSide); 109 } catch (ConversionException ce) { 110 throw new EvaluationException(this, ce.getMessage()); 111 } 112 113 return result; 114 } 115 } 116 | Popular Tags |