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 public class WebServletAnnotationHandler extends AbstractDiscoverableAnnotationHandler
34 {
35 private static final Logger LOG = Log.getLogger(WebServletAnnotationHandler.class);
36
37 public WebServletAnnotationHandler (WebAppContext context)
38 {
39 super(context);
40 }
41
42
43
44
45
46 @Override
47 public void handle(ClassInfo info, String annotationName)
48 {
49 if (annotationName == null || !"javax.servlet.annotation.WebServlet".equals(annotationName))
50 return;
51
52 WebServletAnnotation annotation = new WebServletAnnotation (_context, info.getClassName(), info.getContainingResource());
53 addAnnotation(annotation);
54 }
55
56 @Override
57 public void handle(FieldInfo info, String annotationName)
58 {
59 if (annotationName == null || !"javax.servlet.annotation.WebServlet".equals(annotationName))
60 return;
61
62 LOG.warn ("@WebServlet annotation not supported for fields");
63 }
64
65 @Override
66 public void handle(MethodInfo info, String annotationName)
67 {
68 if (annotationName == null || !"javax.servlet.annotation.WebServlet".equals(annotationName))
69 return;
70
71 LOG.warn ("@WebServlet annotation not supported for methods");
72 }
73 }