@Override public String[] getClassesToModify(AnnotatedElement element) { List<String> all = new LinkedList<String>(); final SuppressStaticInitializationFor suppressAnnotation = element.getAnnotation(SuppressStaticInitializationFor.class); if (suppressAnnotation == null) { return null; } else { final String[] value = suppressAnnotation.value(); for (String classToSuppress : value) { if (!"".equals(classToSuppress)) { all.add(classToSuppress); MockRepository.addSuppressStaticInitializer(classToSuppress); } } } return all.toArray(new String[all.size()]); } }
private void updateClassLoaderConfiguration(MockClassLoaderConfiguration configuration) { MockPolicyClassLoadingSettings classLoadingSettings = getClassLoadingSettings(); String[] fullyQualifiedNamesOfClassesToLoadByMockClassloader = classLoadingSettings.getFullyQualifiedNamesOfClassesToLoadByMockClassloader(); configuration.addClassesToModify(fullyQualifiedNamesOfClassesToLoadByMockClassloader); if (testClass == null) { throw new IllegalStateException("Internal error: testClass should never be null when calling initialize on a mock policy"); } configuration.addClassesToModify(testClass.getName()); Class<?>[] classes = testClass.getDeclaredClasses(); for (Class<?> clazz : classes) { configuration.addClassesToModify(clazz.getName()); } Class<?>[] declaredClasses = testClass.getClasses(); for (Class<?> clazz : declaredClasses) { configuration.addClassesToModify(clazz.getName()); } for (String string : classLoadingSettings.getStaticInitializersToSuppress()) { configuration.addClassesToModify(string); MockRepository.addSuppressStaticInitializer(string); } }