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 javax.annotation.Nonnull;
12
13 import static com.atlassian.plugin.util.validation.ValidationPattern.test;
14
15
16
17
18
19
20
21 @CannotDisable
22 public class ServletContextParamModuleDescriptor extends AbstractModuleDescriptor<Void> {
23 private String paramName;
24 private String paramValue;
25
26 public ServletContextParamModuleDescriptor() {
27 super(ModuleFactory.LEGACY_MODULE_FACTORY);
28 }
29
30 @Override
31 public void init(@Nonnull Plugin plugin, @Nonnull Element element) throws PluginParseException {
32 super.init(plugin, element);
33
34 paramName = element.elementTextTrim("param-name");
35 paramValue = element.elementTextTrim("param-value");
36 }
37
38 @Override
39 protected void provideValidationRules(ValidationPattern pattern) {
40 super.provideValidationRules(pattern);
41 pattern.
42 rule(
43 test("param-name").withError("Parameter name is required"),
44 test("param-value").withError("Parameter value is required"));
45 }
46
47 public String getParamName() {
48 return paramName;
49 }
50
51 public String getParamValue() {
52 return paramValue;
53 }
54
55 @Override
56 public Void getModule() {
57 return null;
58 }
59 }