Author: mbenson
Date: Sun Sep 8 18:09:03 2013
New Revision: 1520889
URL: http://svn.apache.org/r1520889
Log:
use numbered classnames instead of superclass-based ones
Modified:
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
Modified:
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
URL:
http://svn.apache.org/viewvc/commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java?rev=1520889&r1=1520888&r2=1520889&view=diff
==============================================================================
---
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
(original)
+++
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
Sun Sep 8 18:09:03 2013
@@ -45,6 +45,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantLock;
public class ASM4ProxyFactory extends AbstractSubclassingProxyFactory
@@ -69,6 +70,8 @@ public class ASM4ProxyFactory extends Ab
private static class ProxyGenerator extends AbstractProxyClassGenerator
implements Opcodes
{
+ private static final AtomicInteger CLASS_NUMBER = new AtomicInteger(0);
+ private static final String CLASSNAME_PREFIX = "CommonsProxyASM4_";
private static final String HANDLER_NAME = "__handler";
private static final ReentrantLock LOCK = new ReentrantLock();
@@ -153,17 +156,7 @@ public class ASM4ProxyFactory extends Ab
public static Class<?> createProxy(final Class<?> classToProxy, final
ClassLoader cl, final Method[] methods, final Class<?>... interfaces)
{
- return createProxy(classToProxy, cl,
proxyName(classToProxy.getName()), methods, interfaces);
- }
-
- private static String proxyName(final String name)
- {
- final String proxy = name + "$$CommonsProxy";
- if (!proxy.startsWith("java"))
- {
- return proxy;
- }
- return "org.apache.commons.proxy2.generated." + proxy;
+ return createProxy(classToProxy, cl, CLASSNAME_PREFIX +
CLASS_NUMBER.incrementAndGet(), methods, interfaces);
}
public static byte[] generateProxy(final Class<?> classToProxy, final
String proxyName, final Method[] methods, final Class<?>... interfaces) throws
ProxyFactoryException