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 private String paramName;
22 private String paramValue;
23
24 public ServletContextParamModuleDescriptor() {
25 super(ModuleFactory.LEGACY_MODULE_FACTORY);
26 }
27
28 @Override
29 public void init(Plugin plugin, Element element) throws PluginParseException {
30 super.init(plugin, element);
31
32 paramName = element.elementTextTrim("param-name");
33 paramValue = element.elementTextTrim("param-value");
34 }
35
36 @Override
37 protected void provideValidationRules(ValidationPattern pattern) {
38 super.provideValidationRules(pattern);
39 pattern.
40 rule(
41 test("param-name").withError("Parameter name is required"),
42 test("param-value").withError("Parameter value is required"));
43 }
44
45 public String getParamName() {
46 return paramName;
47 }
48
49 public String getParamValue() {
50 return paramValue;
51 }
52
53 @Override
54 public Void getModule() {
55 return null;
56 }
57 }