1 package org.apache.maven.surefire.common.junit48;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.apache.maven.surefire.util.ReflectionUtils.tryLoadClass;
23
24
25
26
27 public final class JUnit48Reflector
28 {
29 private static final String CATEGORIES = "org.junit.experimental.categories.Categories";
30
31 private static final String CATEGORY = "org.junit.experimental.categories.Category";
32
33 private final Class<?> categories;
34
35 private final Class<?> category;
36
37 public JUnit48Reflector( ClassLoader testClassLoader )
38 {
39 categories = tryLoadClass( testClassLoader, CATEGORIES );
40 category = tryLoadClass( testClassLoader, CATEGORY );
41 }
42
43 public boolean isJUnit48Available()
44 {
45 return categories != null;
46 }
47
48 boolean isCategoryAnnotationPresent( Class clazz )
49 {
50 return clazz != null && category != null
51 && ( clazz.getAnnotation( category ) != null || isCategoryAnnotationPresent( clazz.getSuperclass() ) );
52 }
53 }