1 29 30 package com.caucho.config; 31 32 import com.caucho.el.EnvironmentELResolver; 33 import com.caucho.el.MapVariableResolver; 34 import com.caucho.el.StackELResolver; 35 import com.caucho.el.SystemPropertiesResolver; 36 37 import javax.el.*; 38 import java.util.Map ; 39 40 43 public class ConfigELContext extends ELContext { 44 private final StackELResolver _stackResolver = new StackELResolver(); 45 private final ELResolver _varResolver; 46 47 50 public ConfigELContext() 51 { 52 this(new MapVariableResolver()); 53 } 54 55 58 public ConfigELContext(Map <String ,Object > map) 59 { 60 this(new MapVariableResolver(map)); 61 } 62 63 66 public ConfigELContext(ELResolver varResolver) 67 { 68 _varResolver = varResolver; 69 70 _stackResolver.push(new BeanELResolver()); 71 _stackResolver.push(new ArrayELResolver()); 72 _stackResolver.push(new MapELResolver()); 73 _stackResolver.push(new ListELResolver()); 74 75 _stackResolver.push(new SystemPropertiesResolver()); 76 _stackResolver.push(EnvironmentELResolver.create()); 77 78 if (varResolver != null) 79 _stackResolver.push(varResolver); 80 } 81 82 public void push(ELResolver elResolver) 83 { 84 _stackResolver.push(elResolver); 85 } 86 87 public ELResolver pop() 88 { 89 return _stackResolver.pop(); 90 } 91 92 public ELResolver getVariableResolver() 93 { 94 return _varResolver; 95 } 96 97 public Object getValue(String var) 98 { 99 if (_varResolver != null) 100 return _varResolver.getValue(this, null, var); 101 else 102 return null; 103 } 104 105 public void setValue(String var, Object value) 106 { 107 if (_varResolver != null) 108 _varResolver.setValue(this, null, var, value); 109 } 110 111 @Override 112 public ELResolver getELResolver() 113 { 114 return _stackResolver; 115 } 116 117 @Override 118 public FunctionMapper getFunctionMapper() 119 { 120 return null; 121 } 122 123 @Override 124 public VariableMapper getVariableMapper() 125 { 126 return null; 127 } 128 129 public String toString() 130 { 131 return "ConfigELContext[]"; 132 } 133 } 134 | Popular Tags |