001
014
015 package com.liferay.portal.template;
016
017 import com.liferay.portal.kernel.template.Template;
018 import com.liferay.portal.kernel.template.TemplateException;
019
020 import java.io.Writer;
021
022 import java.util.Collection;
023 import java.util.Map;
024 import java.util.Set;
025
026 import javax.servlet.http.HttpServletRequest;
027
028
031 public class RestrictedTemplate implements Template {
032
033 public RestrictedTemplate(
034 Template template, Set<String> restrictedVariables) {
035
036 _template = template;
037 _restrictedVariables = restrictedVariables;
038 }
039
040 @Override
041 public void clear() {
042 _template.clear();
043 }
044
045 @Override
046 public boolean containsKey(Object key) {
047 return _template.containsKey(key);
048 }
049
050 @Override
051 public boolean containsValue(Object value) {
052 return _template.containsValue(value);
053 }
054
055 @Override
056 public void doProcessTemplate(Writer writer) throws Exception {
057 _template.doProcessTemplate(writer);
058 }
059
060 @Override
061 public Set<Entry<String, Object>> entrySet() {
062 return _template.entrySet();
063 }
064
065 @Override
066 public Object get(Object key) {
067 return _template.get(key);
068 }
069
070 @Override
071 public Object get(String key) {
072 return _template.get(key);
073 }
074
075 @Override
076 public String[] getKeys() {
077 return _template.getKeys();
078 }
079
080 @Override
081 public boolean isEmpty() {
082 return _template.isEmpty();
083 }
084
085 @Override
086 public Set<String> keySet() {
087 return _template.keySet();
088 }
089
090 @Override
091 public void prepare(HttpServletRequest request) {
092 _template.prepare(request);
093 }
094
095 @Override
096 public void processTemplate(Writer writer) throws TemplateException {
097 _template.processTemplate(writer);
098 }
099
100 @Override
101 public Object put(String key, Object value) {
102 if (_restrictedVariables.contains(key)) {
103 return null;
104 }
105
106 return _template.put(key, value);
107 }
108
109 @Override
110 public void putAll(Map<? extends String, ? extends Object> m) {
111 _template.putAll(m);
112 }
113
114 @Override
115 public Object remove(Object key) {
116 return _template.remove(key);
117 }
118
119 @Override
120 public int size() {
121 return _template.size();
122 }
123
124 @Override
125 public Collection<Object> values() {
126 return _template.values();
127 }
128
129 private final Set<String> _restrictedVariables;
130 private final Template _template;
131
132 }