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      private boolean createClass = true;
17      
18      public ServletProperties()
19      {
20          this("MyServlet");
21      }
22  
23      public ServletProperties(String fqClassName)
24      {
25          super(fqClassName);
26          put(INIT_PARAMS, new HashMap<String, String>());
27  
28          //sane defaults
29          setUrlPattern("/" + getProperty(CLASSNAME).toLowerCase());
30      }
31  
32      public boolean isCreateClass()
33      {
34          return createClass;
35      }
36      
37      public void setCreateClass(boolean createClass)
38      {
39          this.createClass = createClass;
40      }
41      
42      public void setUrlPattern(String pattern)
43      {
44          setProperty(URL_PATTERN, pattern);
45      }
46  
47      public void setInitParams(Map<String, String> params)
48      {
49          put(INIT_PARAMS, params);
50      }
51  
52      @SuppressWarnings(value = "unchecked")
53      public void addInitParam(String name, String value)
54      {
55          Map<String, String> params = (Map<String, String>) get(INIT_PARAMS);
56          if (params == null)
57          {
58              params = new HashMap<String, String>();
59              setInitParams(params);
60          }
61  
62          params.put(name, value);
63      }
64  }