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 org.apache.maven.surefire.util.ReflectionUtils;
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 = ReflectionUtils.tryLoadClass( testClassLoader, CATEGORIES );
40 category = ReflectionUtils.tryLoadClass( testClassLoader, CATEGORY );
41 }
42
43 public boolean isJUnit48Available()
44 {
45 return categories != null;
46 }
47
48 public boolean isCategoryAnnotationPresent( Class clazz )
49 {
50 return ( category != null &&
51 ( clazz.getAnnotation( category ) != null
52 || ( clazz.getSuperclass() != null && isCategoryAnnotationPresent( clazz.getSuperclass() ) ) ) );
53 }
54 }