public class SignedJarTest extends BaseTestCase {
@Test
public void testProxyOfClassFromSignedJar() {
SignedJarTestTarget target = new SignedJarTestTargetImpl();
Delegate delegate = new Delegate() {
@Override
public Object invoke(Object proxy, Object underlying, Method method, Object[] args) throws Throwable {
return method.invoke(underlying, args);
}
};
GenericInvocationHandler<SignedJarTestTarget> invocationHandler = new GenericInvocationHandler<SignedJarTestTarget>(target);
invocationHandler.addDelegate(new MethodNameMatcher("doSomething"), delegate);
SignedJarTestTarget proxy = ProxyFactory.createProxy(target, invocationHandler);
proxy.doSomething();
}