1   package com.atlassian.plugins.codegen.modules.common.servlet;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import com.atlassian.plugins.codegen.modules.BasicClassModuleProperties;
7   
8   /**
9    * @since 3.6
10   */
11  public class ServletProperties extends BasicClassModuleProperties
12  {
13      public static final String URL_PATTERN = "URL_PATTERN";
14      public static final String INIT_PARAMS = "INIT_PARAMS";
15  
16      public ServletProperties()
17      {
18          this("MyServlet");
19      }
20  
21      public ServletProperties(String fqClassName)
22      {
23          super(fqClassName);
24          put(INIT_PARAMS, new HashMap<String, String>());
25  
26          //sane defaults
27          setUrlPattern("/" + getProperty(CLASSNAME).toLowerCase());
28      }
29  
30      public void setUrlPattern(String pattern)
31      {
32          setProperty(URL_PATTERN, pattern);
33      }
34  
35      public void setInitParams(Map<String, String> params)
36      {
37          put(INIT_PARAMS, params);
38      }
39  
40      @SuppressWarnings(value = "unchecked")
41      public void addInitParam(String name, String value)
42      {
43          Map<String, String> params = (Map<String, String>) get(INIT_PARAMS);
44          if (params == null)
45          {
46              params = new HashMap<String, String>();
47              setInitParams(params);
48          }
49  
50          params.put(name, value);
51      }
52  }