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
24 public ServletModuleDescriptor(final ModuleFactory moduleFactory, final ServletModuleManager servletModuleManager) {
25 super(moduleFactory);
26 this.servletModuleManager = checkNotNull(servletModuleManager);
27 }
28
29 @Override
30 public void enabled() {
31 super.enabled();
32 servletModuleManager.addServletModule(this);
33 }
34
35 @Override
36 public void disabled() {
37 servletModuleManager.removeServletModule(this);
38 super.disabled();
39 }
40
41 @Override
42 public HttpServlet getModule() {
43 return moduleFactory.createModule(moduleClassName, this);
44 }
45
46
47
48
49 @Deprecated
50 public HttpServlet getServlet() {
51 return getModule();
52 }
53 }