1 16 17 package org.apache.taglibs.standard.lang.jstl; 18 19 import java.util.List ; 20 import java.util.Map ; 21 22 33 34 public class ComplexValue 35 extends Expression 36 { 37 42 Expression mPrefix; 43 public Expression getPrefix () 44 { return mPrefix; } 45 public void setPrefix (Expression pPrefix) 46 { mPrefix = pPrefix; } 47 48 51 List mSuffixes; 52 public List getSuffixes () 53 { return mSuffixes; } 54 public void setSuffixes (List pSuffixes) 55 { mSuffixes = pSuffixes; } 56 57 62 public ComplexValue (Expression pPrefix, 63 List pSuffixes) 64 { 65 mPrefix = pPrefix; 66 mSuffixes = pSuffixes; 67 } 68 69 76 public String getExpressionString () 77 { 78 StringBuffer buf = new StringBuffer (); 79 buf.append (mPrefix.getExpressionString ()); 80 81 for (int i = 0; mSuffixes != null && i < mSuffixes.size (); i++) { 82 ValueSuffix suffix = (ValueSuffix) mSuffixes.get (i); 83 buf.append (suffix.getExpressionString ()); 84 } 85 86 return buf.toString (); 87 } 88 89 94 public Object evaluate (Object pContext, 95 VariableResolver pResolver, 96 Map functions, 97 String defaultPrefix, 98 Logger pLogger) 99 throws ELException 100 { 101 Object ret = mPrefix.evaluate (pContext, pResolver, functions, 102 defaultPrefix, pLogger); 103 104 for (int i = 0; mSuffixes != null && i < mSuffixes.size (); i++) { 106 ValueSuffix suffix = (ValueSuffix) mSuffixes.get (i); 107 ret = suffix.evaluate (ret, pContext, pResolver, functions, 108 defaultPrefix, pLogger); 109 } 110 111 return ret; 112 } 113 114 } 116 | Popular Tags |