1 package com.atlassian.plugin.web.model;
2
3 import com.atlassian.plugin.web.ContextProvider;
4 import com.atlassian.plugin.web.WebFragmentHelper;
5 import com.atlassian.plugin.web.descriptors.WebFragmentModuleDescriptor;
6 import com.atlassian.plugin.loaders.LoaderUtils;
7
8 import java.util.Map;
9 import java.util.TreeMap;
10 import java.util.SortedMap;
11
12 import org.dom4j.Element;
13
14
15
16
17 public class DefaultWebParam extends AbstractWebItem implements WebParam
18 {
19
20
21
22 protected SortedMap params;
23
24 public DefaultWebParam(Element element, WebFragmentHelper webFragmentHelper, ContextProvider contextProvider, WebFragmentModuleDescriptor descriptor)
25 {
26 super(webFragmentHelper, contextProvider, descriptor);
27 this.params = new TreeMap(LoaderUtils.getParams(element));
28 }
29
30 public DefaultWebParam(Map params, WebFragmentHelper webFragmentHelper, ContextProvider contextProvider, WebFragmentModuleDescriptor descriptor)
31 {
32 super(webFragmentHelper, contextProvider, descriptor);
33 this.params = new TreeMap(params);
34 }
35
36 public SortedMap getParams()
37 {
38 return params;
39 }
40
41 public Object get(String key)
42 {
43 return params.get(key);
44 }
45
46 public String getRenderedParam(String paramKey, Map context)
47 {
48 context.putAll(getContextMap(context));
49 return getWebFragmentHelper().renderVelocityFragment((String) params.get(paramKey), context);
50 }
51 }