1 package com.atlassian.plugin.servlet.descriptors;
2
3 import com.atlassian.plugin.StateAware;
4 import com.atlassian.plugin.module.ModuleFactory;
5 import com.atlassian.plugin.servlet.ServletModuleManager;
6
7 import javax.servlet.http.HttpServlet;
8
9 import static com.google.common.base.Preconditions.checkNotNull;
10
11
12
13
14
15 public class ServletModuleDescriptor extends BaseServletModuleDescriptor<HttpServlet> implements StateAware {
16 private final ServletModuleManager servletModuleManager;
17
18
19
20
21
22
23 public ServletModuleDescriptor(final ModuleFactory moduleFactory, final ServletModuleManager servletModuleManager) {
24 super(moduleFactory);
25 this.servletModuleManager = checkNotNull(servletModuleManager);
26 }
27
28 @Override
29 public void enabled() {
30 super.enabled();
31 servletModuleManager.addServletModule(this);
32 }
33
34 @Override
35 public void disabled() {
36 servletModuleManager.removeServletModule(this);
37 super.disabled();
38 }
39
40 @Override
41 public HttpServlet getModule() {
42 return moduleFactory.createModule(moduleClassName, this);
43 }
44 }