Renaming static/final fields and converting to AtomicInteger as opposed to simple int field.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/branches/version-2.0-work@1507550 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java
index e48865f..88b7ec2 100644
--- a/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java
+++ b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java
@@ -23,6 +23,7 @@
import java.util.HashSet;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* Some utility methods for dealing with Javassist. This class is not part of the public API!
@@ -37,10 +38,9 @@
//**********************************************************************************************************************
public static final String DEFAULT_BASE_NAME = "JavassistUtilsGenerated";
- private static int classNumber = 0;
- private static final ClassPool classPool = new ClassPool();
-
- private static final Set<ClassLoader> classLoaders = new HashSet<ClassLoader>();
+ private static final AtomicInteger CLASS_NUMBER = new AtomicInteger(0);
+ private static final ClassPool CLASS_POOL = new ClassPool();
+ private static final Set<ClassLoader> CLASS_LOADERS = new HashSet<ClassLoader>();
//**********************************************************************************************************************
// Static Methods
@@ -48,7 +48,7 @@
static
{
- classPool.appendClassPath(new LoaderClassPath(ClassLoader.getSystemClassLoader()));
+ CLASS_POOL.appendClassPath(new LoaderClassPath(ClassLoader.getSystemClassLoader()));
}
/**
@@ -100,7 +100,7 @@
*/
public synchronized static CtClass createClass( String baseName, Class<?> superclass )
{
- return classPool.makeClass(baseName + "_" + classNumber++, resolve(superclass));
+ return CLASS_POOL.makeClass(baseName + "_" + CLASS_NUMBER.incrementAndGet(), resolve(superclass));
}
/**
@@ -111,17 +111,17 @@
*/
public static CtClass resolve( Class<?> clazz )
{
- synchronized( classLoaders )
+ synchronized(CLASS_LOADERS)
{
try
{
final ClassLoader loader = clazz.getClassLoader();
- if( loader != null && !classLoaders.contains(loader) )
+ if( loader != null && !CLASS_LOADERS.contains(loader) )
{
- classLoaders.add(loader);
- classPool.appendClassPath(new LoaderClassPath(loader));
+ CLASS_LOADERS.add(loader);
+ CLASS_POOL.appendClassPath(new LoaderClassPath(loader));
}
- return classPool.get(ProxyUtils.getJavaClassName(clazz));
+ return CLASS_POOL.get(ProxyUtils.getJavaClassName(clazz));
}
catch( NotFoundException e )
{