View Javadoc

1   package com.atlassian.plugin.servlet.descriptors;
2   
3   import com.atlassian.plugin.Plugin;
4   import com.atlassian.plugin.servlet.PluginBuilder;
5   
6   public class ServletContextParamDescriptorBuilder
7   {
8       private Plugin plugin = new PluginBuilder().build();
9       private String key = "test.servlet.context.param";
10      private String paramName;
11      private String paramValue;
12  
13      public ServletContextParamDescriptorBuilder with(Plugin plugin)
14      {
15          this.plugin = plugin;
16          return this;
17      }
18      
19      public ServletContextParamDescriptorBuilder withKey(String key)
20      {
21          this.key = key;
22          return this;
23      }
24  
25      public ServletContextParamDescriptorBuilder withParam(String name, String value)
26      {
27          paramName = name;
28          paramValue = value;
29          return this;
30      }
31  
32      public ServletContextParamModuleDescriptor build()
33      {
34          ModuleDescriptor d = new ModuleDescriptor(plugin, key, paramName, paramValue);
35          plugin.addModuleDescriptor(d);
36          return d;
37      }
38  
39      private static final class ModuleDescriptor extends ServletContextParamModuleDescriptor
40      {
41          final String key;
42          final String name;
43          final String value;
44          
45          public ModuleDescriptor(
46              Plugin plugin,
47              String key,
48              String name,
49              String value)
50          {
51              this.plugin = plugin;
52              this.key = key;
53              this.name = name;
54              this.value = value;
55          }
56  
57          @Override
58          public Plugin getPlugin()
59          {
60              return plugin;
61          }
62          
63          @Override
64          public String getCompleteKey()
65          {
66              return getPluginKey() + ":" + key;
67          }
68  
69          @Override
70          public String getKey()
71          {
72              return key;
73          }
74  
75          @Override
76          public String getParamName()
77          {
78              return name;
79          }
80  
81          @Override
82          public String getParamValue()
83          {
84              return value;
85          }
86      }
87  }