1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.jcs.jcache.cdi;
20
21 import javax.cache.annotation.CacheMethodDetails;
22 import javax.interceptor.InvocationContext;
23 import java.lang.annotation.Annotation;
24 import java.lang.reflect.Method;
25 import java.util.HashSet;
26 import java.util.Set;
27
28 import static java.util.Arrays.asList;
29
30 public class CacheMethodDetailsImpl<A extends Annotation> implements CacheMethodDetails<A>
31 {
32 protected final InvocationContext delegate;
33 private final Set<Annotation> annotations;
34 private final A cacheAnnotation;
35 private final String cacheName;
36 protected final CDIJCacheHelper.MethodMeta meta;
37
38 public CacheMethodDetailsImpl(final InvocationContext delegate, final A cacheAnnotation, final String cacheName,
39 final CDIJCacheHelper.MethodMeta meta)
40 {
41 this.delegate = delegate;
42 this.annotations = meta.getAnnotations();
43 this.cacheAnnotation = cacheAnnotation;
44 this.cacheName = cacheName;
45 this.meta = meta;
46 }
47
48 @Override
49 public Method getMethod()
50 {
51 return delegate.getMethod();
52 }
53
54 @Override
55 public Set<Annotation> getAnnotations()
56 {
57 return annotations;
58 }
59
60 @Override
61 public A getCacheAnnotation()
62 {
63 return cacheAnnotation;
64 }
65
66 @Override
67 public String getCacheName()
68 {
69 return cacheName;
70 }
71 }