1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.webapp;
20
21 import org.eclipse.jetty.util.Loader;
22 import org.eclipse.jetty.util.log.Log;
23 import org.eclipse.jetty.util.log.Logger;
24 import org.eclipse.jetty.util.resource.Resource;
25
26
27
28
29
30
31
32
33 public abstract class DiscoveredAnnotation
34 {
35 private static final Logger LOG = Log.getLogger(DiscoveredAnnotation.class);
36
37 protected WebAppContext _context;
38 protected String _className;
39 protected Class<?> _clazz;
40 protected Resource _resource;
41
42 public abstract void apply();
43
44 public DiscoveredAnnotation (WebAppContext context, String className)
45 {
46 this(context,className, null);
47 }
48
49
50 public DiscoveredAnnotation(WebAppContext context, String className, Resource resource)
51 {
52 _context = context;
53 _className = className;
54 _resource = resource;
55 }
56
57 public Resource getResource ()
58 {
59 return _resource;
60 }
61
62 public Class<?> getTargetClass()
63 {
64 if (_clazz != null)
65 return _clazz;
66
67 loadClass();
68
69 return _clazz;
70 }
71
72 private void loadClass ()
73 {
74 if (_clazz != null)
75 return;
76
77 if (_className == null)
78 return;
79
80 try
81 {
82 _clazz = Loader.loadClass(null, _className);
83 }
84 catch (Exception e)
85 {
86 LOG.warn(e);
87 }
88 }
89 }