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 public void handle(ClassInfo info, String annotationName)
38 {
39 if (annotationName == null || !"javax.servlet.annotation.WebListener".equals(annotationName))
40 return;
41
42 WebListenerAnnotation wlAnnotation = new WebListenerAnnotation(_context, info.getClassName(), info.getContainingResource());
43 addAnnotation(wlAnnotation);
44 }
45
46 public void handle(FieldInfo info, String annotationName)
47 {
48 if (annotationName == null || !"javax.servlet.annotation.WebListener".equals(annotationName))
49 return;
50 LOG.warn ("@WebListener is not applicable to fields: "+info.getClassInfo().getClassName()+"."+info.getFieldName());
51 }
52
53 public void handle(MethodInfo info, String annotationName)
54 {
55 if (annotationName == null || !"javax.servlet.annotation.WebListener".equals(annotationName))
56 return;
57 LOG.warn ("@WebListener is not applicable to methods: "+info.getClassInfo().getClassName()+"."+info.getMethodName()+" "+info.getSignature());
58 }
59 }