1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.annotations;
20
21 import org.eclipse.jetty.annotations.AnnotationParser.ClassInfo;
22 import org.eclipse.jetty.annotations.AnnotationParser.FieldInfo;
23 import org.eclipse.jetty.annotations.AnnotationParser.MethodInfo;
24 import org.eclipse.jetty.util.log.Log;
25 import org.eclipse.jetty.util.log.Logger;
26 import org.eclipse.jetty.webapp.WebAppContext;
27
28
29
30
31
32
33
34 public class WebServletAnnotationHandler extends AbstractDiscoverableAnnotationHandler
35 {
36 private static final Logger LOG = Log.getLogger(WebServletAnnotationHandler.class);
37
38 public WebServletAnnotationHandler (WebAppContext context)
39 {
40 super(context);
41 }
42
43
44
45
46
47
48
49 @Override
50 public void handle(ClassInfo info, String annotationName)
51 {
52 if (annotationName == null || !"javax.servlet.annotation.WebServlet".equals(annotationName))
53 return;
54
55 WebServletAnnotation annotation = new WebServletAnnotation (_context, info.getClassName(), info.getContainingResource());
56 addAnnotation(annotation);
57 }
58
59 @Override
60 public void handle(FieldInfo info, String annotationName)
61 {
62 if (annotationName == null || !"javax.servlet.annotation.WebServlet".equals(annotationName))
63 return;
64
65 LOG.warn ("@WebServlet annotation not supported for fields");
66 }
67
68 @Override
69 public void handle(MethodInfo info, String annotationName)
70 {
71 if (annotationName == null || !"javax.servlet.annotation.WebServlet".equals(annotationName))
72 return;
73
74 LOG.warn ("@WebServlet annotation not supported for methods");
75 }
76 }