1 package com.atlassian.plugin.servlet.descriptors;
2
3 import com.atlassian.plugin.Plugin;
4 import com.atlassian.plugin.PluginParseException;
5 import com.atlassian.plugin.descriptors.AbstractModuleDescriptor;
6 import com.atlassian.plugin.descriptors.CannotDisable;
7 import com.atlassian.plugin.module.ModuleFactory;
8 import com.atlassian.plugin.util.validation.ValidationPattern;
9 import org.dom4j.Element;
10
11 import static com.atlassian.plugin.util.validation.ValidationPattern.test;
12
13
14
15
16
17
18
19 @CannotDisable
20 public class ServletContextParamModuleDescriptor extends AbstractModuleDescriptor<Void>
21 {
22 private String paramName;
23 private String paramValue;
24
25 public ServletContextParamModuleDescriptor()
26 {
27 super(ModuleFactory.LEGACY_MODULE_FACTORY);
28 }
29
30 @Override
31 public void init(Plugin plugin, Element element) throws PluginParseException
32 {
33 super.init(plugin, element);
34
35 paramName = element.elementTextTrim("param-name");
36 paramValue = element.elementTextTrim("param-value");
37 }
38
39 @Override
40 protected void provideValidationRules(ValidationPattern pattern)
41 {
42 super.provideValidationRules(pattern);
43 pattern.
44 rule(
45 test("param-name").withError("Parameter name is required"),
46 test("param-value").withError("Parameter value is required"));
47 }
48
49 public String getParamName()
50 {
51 return paramName;
52 }
53
54 public String getParamValue()
55 {
56 return paramValue;
57 }
58
59 @Override
60 public Void getModule()
61 {
62 return null;
63 }
64 }