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