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