You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by jc...@apache.org on 2005/10/15 15:22:05 UTC

svn commit: r321332 - in /jakarta/commons/sandbox/proxy/trunk/src: java/org/apache/commons/proxy/ java/org/apache/commons/proxy/factory/javassist/ java/org/apache/commons/proxy/interceptor/ test/org/apache/commons/proxy/

Author: jcarman
Date: Sat Oct 15 06:22:00 2005
New Revision: 321332

URL: http://svn.apache.org/viewcvs?rev=321332&view=rev
Log:
Moved getJavaClassName() method.

Modified:
    jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java
    jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistMethodInvocation.java
    jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistUtils.java
    jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/interceptor/LoggingMethodInterceptor.java
    jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java

Modified: jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java?rev=321332&r1=321331&r2=321332&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java Sat Oct 15 06:22:00 2005
@@ -28,9 +28,17 @@
  */
 public class ProxyUtils
 {
+//----------------------------------------------------------------------------------------------------------------------
+// Fields
+//----------------------------------------------------------------------------------------------------------------------
+
     public static final Object[] EMPTY_ARGUMENTS = new Object[0];
     public static final Class[] EMPTY_ARGUMENT_TYPES = new Class[0];
-    
+
+//----------------------------------------------------------------------------------------------------------------------
+// Static Methods
+//----------------------------------------------------------------------------------------------------------------------
+
     /**
      * Creates a "null object" which implements the <code>proxyClasses</code>.
      * @param proxyFactory the proxy factory to be used to create the proxy object
@@ -54,7 +62,6 @@
         return proxyFactory.createInvocationHandlerProxy( classLoader, new NullInvocationHandler(), proxyClasses );
     }
 
-
     /**
      * <p>Gets an array of {@link Class} objects representing all interfaces implemented by the given
      * class and its superclasses.</p>
@@ -107,4 +114,26 @@
         }
         return list;
     }
+
+    /**
+     * Returns the class name as you would expect to see it in Java code.
+     * <p>
+     * <b>Examples:</b>
+     * <ul>
+     *   <li>getJavaClassName( Object[].class ) == "Object[]"</li>
+     *   <li>getJavaClassName( Object[][].class ) == "Object[][]"</li>
+     *   <li>getJavaClassName( Integer.TYPE ) == "int"</li>
+     * </p>
+     * @param clazz the class
+     * @return the class' name as you would expect to see it in Java code
+     */
+    public static String getJavaClassName( Class clazz )
+    {
+        if( clazz.isArray() )
+        {
+            return getJavaClassName( clazz.getComponentType() ) + "[]";
+        }
+        return clazz.getName();
+    }
 }
+

Modified: jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistMethodInvocation.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistMethodInvocation.java?rev=321332&r1=321331&r2=321332&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistMethodInvocation.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistMethodInvocation.java Sat Oct 15 06:22:00 2005
@@ -124,14 +124,14 @@
             proceedBody.append( "\t" );
         }
         proceedBody.append( "( (" );
-        proceedBody.append( JavassistUtils.getJavaClassName( interfaceMethod.getDeclaringClass() ) );
+        proceedBody.append( ProxyUtils.getJavaClassName( interfaceMethod.getDeclaringClass() ) );
         proceedBody.append( " )target )." );
         proceedBody.append( interfaceMethod.getName() );
         proceedBody.append( "(" );
         for( int i = 0; i < argumentTypes.length; ++i )
         {
             proceedBody.append( "(" );
-            proceedBody.append( JavassistUtils.getJavaClassName( argumentTypes[i] ) );
+            proceedBody.append( ProxyUtils.getJavaClassName( argumentTypes[i] ) );
             proceedBody.append( ")arguments[" );
             proceedBody.append( i );
             proceedBody.append( "]" );

Modified: jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistUtils.java?rev=321332&r1=321331&r2=321332&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistUtils.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistUtils.java Sat Oct 15 06:22:00 2005
@@ -22,6 +22,7 @@
 import javassist.CtField;
 import javassist.NotFoundException;
 import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy.ProxyUtils;
 
 /**
  * @author James Carman
@@ -51,22 +52,13 @@
     {
         try
         {
-            return classPool.get( getJavaClassName( clazz ) );
+            return classPool.get( ProxyUtils.getJavaClassName( clazz ) );
         }
         catch( NotFoundException e )
         {
             throw new ObjectProviderException(
                     "Unable to find class " + clazz.getName() + " in default Javassist class pool.", e );
         }
-    }
-
-    public static String getJavaClassName( Class inputClass )
-    {
-        if( inputClass.isArray() )
-        {
-            return getJavaClassName( inputClass.getComponentType() ) + "[]";
-        }
-        return inputClass.getName();
     }
 
     public static void addInterfaces( CtClass ctClass, Class[] proxyClasses )

Modified: jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/interceptor/LoggingMethodInterceptor.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/interceptor/LoggingMethodInterceptor.java?rev=321332&r1=321331&r2=321332&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/interceptor/LoggingMethodInterceptor.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/interceptor/LoggingMethodInterceptor.java Sat Oct 15 06:22:00 2005
@@ -19,7 +19,7 @@
 import org.aopalliance.intercept.MethodInterceptor;
 import org.aopalliance.intercept.MethodInvocation;
 import org.apache.commons.logging.Log;
-import org.apache.commons.proxy.factory.javassist.JavassistUtils;
+import org.apache.commons.proxy.ProxyUtils;
 
 /**
  * An interceptor which logs each method invocation.
@@ -123,7 +123,7 @@
             return;
         }
         buffer.append( "(" );
-        buffer.append( JavassistUtils.getJavaClassName( input.getClass() ) );
+        buffer.append( ProxyUtils.getJavaClassName( input.getClass() ) );
         buffer.append( "){" );
         Object[] array = ( Object[] ) input;
         int count = array.length;

Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java?rev=321332&r1=321331&r2=321332&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java Sat Oct 15 06:22:00 2005
@@ -36,4 +36,19 @@
         assertNull( nullEcho.echoBack( "hello", "world" ) );
         assertEquals( ( int ) 0, nullEcho.echoBack( 12345 ) );
     }
+
+    public void testGetJavaClassName() throws Exception
+    {
+        assertEquals( "java.lang.Object[]", ProxyUtils.getJavaClassName( Object[].class ) );
+        assertEquals( "java.lang.Object[][]", ProxyUtils.getJavaClassName( Object[][].class ) );
+        assertEquals( "java.lang.String[][][]", ProxyUtils.getJavaClassName( String[][][].class ) );
+        assertEquals( "int", ProxyUtils.getJavaClassName( Integer.TYPE ) );
+        assertEquals( "float", ProxyUtils.getJavaClassName( Float.TYPE ) );
+        assertEquals( "long", ProxyUtils.getJavaClassName( Long.TYPE ) );
+        assertEquals( "double", ProxyUtils.getJavaClassName( Double.TYPE ) );
+        assertEquals( "short", ProxyUtils.getJavaClassName( Short.TYPE ) );
+        assertEquals( "byte", ProxyUtils.getJavaClassName( Byte.TYPE ) );
+        assertEquals( "char", ProxyUtils.getJavaClassName( Character.TYPE ) );
+        assertEquals( "boolean", ProxyUtils.getJavaClassName( Boolean.TYPE ) );
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org