1 15 package org.apache.tapestry.script; 16 17 import java.util.ArrayList ; 18 import java.util.Iterator ; 19 import java.util.List ; 20 21 import org.apache.hivemind.ApplicationRuntimeException; 22 import org.apache.hivemind.Location; 23 import org.apache.tapestry.services.ExpressionEvaluator; 24 25 31 32 abstract class AbstractToken implements IScriptToken 33 { 34 private List _tokens; 35 36 private Location _location; 37 38 protected AbstractToken(Location location) 39 { 40 _location = location; 41 } 42 43 public Location getLocation() 44 { 45 return _location; 46 } 47 48 public void addToken(IScriptToken token) 49 { 50 if (_tokens == null) 51 _tokens = new ArrayList (); 52 53 _tokens.add(token); 54 } 55 56 60 61 protected void writeChildren(StringBuffer buffer, ScriptSession session) 62 { 63 if (_tokens == null) 64 return; 65 66 Iterator i = _tokens.iterator(); 67 68 while (i.hasNext()) 69 { 70 IScriptToken token = (IScriptToken) i.next(); 71 72 token.write(buffer, session); 73 } 74 } 75 76 80 protected Object evaluate(String expression, ScriptSession session) 81 { 82 83 try 84 { 85 return session.evaluate(expression); 86 } 87 catch (Exception ex) 88 { 89 throw new ApplicationRuntimeException(ex.getMessage(), _location, ex); 90 } 91 } 92 93 98 99 protected boolean evaluateBoolean(String expression, ScriptSession session) 100 { 101 try 102 { 103 Boolean b = (Boolean ) session.evaluate(expression, Boolean .class); 104 105 return b.booleanValue(); 106 } 107 catch (Exception ex) 108 { 109 throw new ApplicationRuntimeException(ex.getMessage(), _location, ex); 110 } 111 } 112 } | Popular Tags |