KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > el > AddBlock


1 package fr.improve.struts.taglib.layout.el;
2
3 import javax.servlet.jsp.PageContext JavaDoc;
4
5 /**
6  * Block that computes a sum.
7  */

8 public class AddBlock implements Block {
9     private Block left;
10     private Block right;
11     
12     public AddBlock(Block in_left,Block in_right) {
13         left = in_left;
14         right = in_right;
15     }
16     
17     public String JavaDoc evaluate(PageContext JavaDoc in_pg) throws EvaluationException {
18         String JavaDoc leftAsString = left.evaluate(in_pg);
19         String JavaDoc rightAsString = right.evaluate(in_pg);
20         try {
21             int left = Integer.parseInt(leftAsString);
22             int right = Integer.parseInt(rightAsString);
23             return String.valueOf(left+right);
24         } catch (NumberFormatException JavaDoc e) {
25             throw new EvaluationException("Operand is not a number : " + leftAsString + " + " + rightAsString);
26         }
27     }
28     
29     public String JavaDoc toString() {
30         return new StringBuffer JavaDoc("[A( ").append(left.toString()).append(" , ").append(right.toString()).append(" )]").toString();
31     }
32
33     
34 }
35
Popular Tags