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 public class WebListenerAnnotationHandler extends AbstractDiscoverableAnnotationHandler
29 {
30 private static final Logger LOG = Log.getLogger(WebListenerAnnotationHandler.class);
31
32 public WebListenerAnnotationHandler (WebAppContext context)
33 {
34 super(context);
35 }
36
37
38
39
40
41 public void handle(ClassInfo info, String annotationName)
42 {
43 if (annotationName == null || !"javax.servlet.annotation.WebListener".equals(annotationName))
44 return;
45
46 WebListenerAnnotation wlAnnotation = new WebListenerAnnotation(_context, info.getClassName(), info.getContainingResource());
47 addAnnotation(wlAnnotation);
48 }
49
50 public void handle(FieldInfo info, String annotationName)
51 {
52 if (annotationName == null || !"javax.servlet.annotation.WebListener".equals(annotationName))
53 return;
54 LOG.warn ("@WebListener is not applicable to fields: "+info.getClassInfo().getClassName()+"."+info.getFieldName());
55 }
56
57 public void handle(MethodInfo info, String annotationName)
58 {
59 if (annotationName == null || !"javax.servlet.annotation.WebListener".equals(annotationName))
60 return;
61 LOG.warn ("@WebListener is not applicable to methods: "+info.getClassInfo().getClassName()+"."+info.getMethodName()+" "+info.getSignature());
62 }
63 }