public PowerMockStatement(Statement base, Object target, JavaAgentClassRegister agentClassRegister) { this.fNext = base; this.target = target; this.agentClassRegister = agentClassRegister; this.javaAgentFrameworkRegister = JavaAgentFrameworkRegisterFactory.create(); }
@SuppressWarnings("unchecked") private static Class<JavaAgentFrameworkRegister> getJavaAgentFrameworkRegisterClass(ClassLoader classLoader) { Class<JavaAgentFrameworkRegister> agentFrameworkRegisterClass; try { agentFrameworkRegisterClass = (Class<JavaAgentFrameworkRegister>) classLoader.loadClass(getImplementerClassName()); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } return agentFrameworkRegisterClass; }
public static JavaAgentFrameworkRegister create() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); return getInstanceForClassLoader(classLoader); }
private static JavaAgentFrameworkRegister getInstanceForClassLoader(ClassLoader classLoader) { Class<JavaAgentFrameworkRegister> frameworkReporterClass = getJavaAgentFrameworkRegisterClass(classLoader); return Whitebox.newInstance(frameworkReporterClass); }