blob: 325ade8faf069cf10ab1b77c018dd63307925b42 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package net.gcdc.asn1.uper;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
class AnnotationStore {
private Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<>();
public AnnotationStore(Annotation[] classAnnot, Annotation[] fieldAnnot) {
for (Annotation a : classAnnot) {
annotations.put(a.annotationType(), a);
}
for (Annotation a : fieldAnnot) {
annotations.put(a.annotationType(), a);
}
}
public <T extends Annotation> T getAnnotation(Class<T> classOfT) {
@SuppressWarnings("unchecked")
// Annotations were added with value T for key classOfT.
T result = (T) annotations.get(classOfT);
return result;
}
public Collection<Annotation> getAnnotations() {
return annotations.values();
}
}
|