commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mben...@apache.org
Subject svn commit: r965999 - in /commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2: ProxyFactory.java impl/AbstractProxyFactory.java
Date Tue, 20 Jul 2010 20:44:27 GMT
Author: mbenson
Date: Tue Jul 20 20:44:26 2010
New Revision: 965999

URL: http://svn.apache.org/viewvc?rev=965999&view=rev
Log:
switch to least number of interface methods that will accomplish all of:  varargs/typesafe
results/optional classloader

Modified:
    commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java
    commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java

Modified: commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java?rev=965999&r1=965998&r2=965999&view=diff
==============================================================================
--- commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java
(original)
+++ commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java
Tue Jul 20 20:44:26 2010
@@ -28,77 +28,6 @@ public interface ProxyFactory
 //**********************************************************************************************************************
 
     /**
-     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.
-     *
-     * @param classLoader      the class loader to use when generating the proxy2
-     * @param delegateProvider the delegate provider
-     * @param proxyClass     the class/interface that the proxy2 should implement
-     * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>
-     */
-    public <T> T createDelegatorProxy( ClassLoader classLoader, ObjectProvider<T>
delegateProvider,
-                                       Class<T> proxyClass );
-
-    /**
-     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     * <code>target</code> object.  The proxy2 will be generated using the current
thread's "context class loader."
-     *
-     * @param target       the target object
-     * @param interceptor  the method interceptor
-     * @param proxyClass the class/interface that the proxy2 should implement
-     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     *         <code>target</code> object.
-     */
-    public <T> T createInterceptorProxy( Object target, Interceptor interceptor,
-                                         Class<T> proxyClass );
-
-    /**
-     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     * <code>target</code> object.
-     *
-     * @param classLoader  the class loader to use when generating the proxy2
-     * @param target       the target object
-     * @param interceptor  the method interceptor
-     * @param proxyClass the class/interface that the proxy2 should implement.
-     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     *         <code>target</code> object.
-     */
-    public <T> T createInterceptorProxy( ClassLoader classLoader,
-                                         Object target,
-                                         Interceptor interceptor,
-                                         Class<T> proxyClass );
-
-    /**
-     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.
 The proxy2 will be
-     * generated using the current thread's "context class loader."
-     *
-     * @param invoker      the invoker
-     * @param proxyClass the class/interface that the proxy2 should implement
-     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
-     */
-    public <T> T createInvokerProxy( Invoker invoker, Class<T> proxyClass );
-
-    /**
-     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.
-     *
-     * @param classLoader  the class loader to use when generating the proxy2
-     * @param invoker      the invoker
-     * @param proxyClass the class/interface that the proxy2 should implement
-     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
-     */
-    public <T> T createInvokerProxy( ClassLoader classLoader, Invoker invoker,
-                                     Class<T> proxyClass );
-
-    /**
-     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.
 The proxy2 will be
-     * generated using the current thread's "context class loader."
-     *
-     * @param delegateProvider the delegate provider
-     * @param proxyClass     the class/interface that the proxy2 should implement
-     * @return a proxy2 which delegates to the object provided by the target object provider
-     */
-    public <T> T createDelegatorProxy( ObjectProvider<T> delegateProvider, Class<T>
proxyClass );
-
-    /**
      * Learn whether this {@link ProxyFactory} is capable of creating a proxy2 for the specified
set of classes.
      *
      * @param proxyClasses the proxy2 classes
@@ -114,7 +43,7 @@ public interface ProxyFactory
      * @param proxyClasses     the interfaces that the proxy2 should implement
      * @return a proxy2 which delegates to the object provided by the target object provider
      */
-    public Object createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>...
proxyClasses );
+    public <T> T createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>...
proxyClasses );
 
     /**
      * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.
@@ -124,7 +53,7 @@ public interface ProxyFactory
      * @param proxyClasses     the interfaces that the proxy2 should implement
      * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>
      */
-    public Object createDelegatorProxy( ClassLoader classLoader, ObjectProvider<?>
delegateProvider,
+    public <T> T createDelegatorProxy( ClassLoader classLoader, ObjectProvider<?>
delegateProvider,
                                         Class<?>... proxyClasses );
 
     /**
@@ -137,7 +66,7 @@ public interface ProxyFactory
      * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
      *         <code>target</code> object.
      */
-    public Object createInterceptorProxy( Object target, Interceptor interceptor,
+    public <T> T createInterceptorProxy( Object target, Interceptor interceptor,
                                           Class<?>... proxyClasses );
 
     /**
@@ -151,7 +80,7 @@ public interface ProxyFactory
      * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
      *         <code>target</code> object.
      */
-    public Object createInterceptorProxy( ClassLoader classLoader, Object target, Interceptor
interceptor,
+    public <T> T createInterceptorProxy( ClassLoader classLoader, Object target, Interceptor
interceptor,
                                           Class<?>... proxyClasses );
 
     /**
@@ -162,7 +91,7 @@ public interface ProxyFactory
      * @param proxyClasses the interfaces that the proxy2 should implement
      * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
      */
-    public Object createInvokerProxy( Invoker invoker, Class<?>... proxyClasses );
+    public <T> T createInvokerProxy( Invoker invoker, Class<?>... proxyClasses
);
 
     /**
      * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.
@@ -172,6 +101,6 @@ public interface ProxyFactory
      * @param proxyClasses the interfaces that the proxy2 should implement
      * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
      */
-    public Object createInvokerProxy( ClassLoader classLoader, Invoker invoker,
+    public <T> T createInvokerProxy( ClassLoader classLoader, Invoker invoker,
                                       Class<?>... proxyClasses );
 }

Modified: commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java?rev=965999&r1=965998&r2=965999&view=diff
==============================================================================
--- commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
(original)
+++ commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
Tue Jul 20 20:44:26 2010
@@ -55,41 +55,12 @@ public abstract class AbstractProxyFacto
      * @param proxyClasses     the interfaces that the proxy2 should implement
      * @return a proxy2 which delegates to the object provided by the target object provider
      */
-    public Object createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>...
proxyClasses )
+    public <T> T createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>...
proxyClasses )
     {
         return createDelegatorProxy(Thread.currentThread().getContextClassLoader(), delegateProvider,
proxyClasses);
     }
 
     /**
-     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.
 The proxy2 will be
-     * generated using the current thread's "context class loader."
-     *
-     * @param delegateProvider the delegate provider
-     * @param proxyClass     the class/interface that the proxy2 should implement
-     * @return a proxy2 which delegates to the object provided by the target object provider
-     */
-    @SuppressWarnings("unchecked")
-    public <T> T createDelegatorProxy( ObjectProvider<T> delegateProvider, Class<T>
proxyClass )
-    {
-        return (T)createDelegatorProxy(delegateProvider, new Class[] {proxyClass});
-    }
-
-    /**
-     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.
-     *
-     * @param classLoader      the class loader to use when generating the proxy2
-     * @param delegateProvider the delegate provider
-     * @param proxyClass     the class/interface that the proxy2 should implement
-     * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>
-     */
-    @SuppressWarnings( "unchecked" )
-    public <T> T createDelegatorProxy( ClassLoader classLoader, ObjectProvider<T>
delegateProvider,
-                                       Class<T> proxyClass )
-    {
-        return ( T ) createDelegatorProxy(classLoader, delegateProvider, new Class[] {proxyClass});
-    }
-
-    /**
      * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
      * <code>target</code> object.  The proxy2 will be generated using the current
thread's "context class loader."
      *
@@ -99,7 +70,7 @@ public abstract class AbstractProxyFacto
      * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
      *         <code>target</code> object.
      */
-    public Object createInterceptorProxy( Object target, Interceptor interceptor,
+    public <T> T createInterceptorProxy( Object target, Interceptor interceptor,
                                           Class<?>... proxyClasses )
     {
         return createInterceptorProxy(Thread.currentThread().getContextClassLoader(), target,
interceptor,
@@ -107,43 +78,6 @@ public abstract class AbstractProxyFacto
     }
 
     /**
-     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     * <code>target</code> object.  The proxy2 will be generated using the current
thread's "context class loader."
-     *
-     * @param target       the target object
-     * @param interceptor  the method interceptor
-     * @param proxyClass the class/interface that the proxy2 should implement
-     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     *         <code>target</code> object.
-     */
-    @SuppressWarnings( "unchecked" )
-    public <T> T createInterceptorProxy( Object target, Interceptor interceptor,
-                                         Class<T> proxyClass )
-    {
-        return ( T ) createInterceptorProxy(target, interceptor, new Class[] {proxyClass});
-    }
-
-    /**
-     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     * <code>target</code> object.
-     *
-     * @param classLoader  the class loader to use when generating the proxy2
-     * @param target       the target object
-     * @param interceptor  the method interceptor
-     * @param proxyClass the class/interface that the proxy2 should implement.
-     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually
reaching the
-     *         <code>target</code> object.
-     */
-    @SuppressWarnings( "unchecked" )
-    public <T> T createInterceptorProxy( ClassLoader classLoader,
-                                         Object target,
-                                         Interceptor interceptor,
-                                         Class<T> proxyClass )
-    {
-        return ( T ) createInterceptorProxy(classLoader, target, interceptor, new Class[]
{proxyClass});
-    }
-
-    /**
      * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.
 The proxy2 will be
      * generated using the current thread's "context class loader."
      *
@@ -151,39 +85,10 @@ public abstract class AbstractProxyFacto
      * @param proxyClasses the interfaces that the proxy2 should implement
      * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
      */
-    public Object createInvokerProxy( Invoker invoker, Class<?>... proxyClasses )
+    public <T> T createInvokerProxy( Invoker invoker, Class<?>... proxyClasses
)
     {
         return createInvokerProxy(Thread.currentThread().getContextClassLoader(), invoker,
                                   proxyClasses);
     }
 
-    /**
-     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.
 The proxy2 will be
-     * generated using the current thread's "context class loader."
-     *
-     * @param invoker      the invoker
-     * @param proxyClass the class/interface that the proxy2 should implement
-     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
-     */
-    @SuppressWarnings( "unchecked" )
-    public <T> T createInvokerProxy( Invoker invoker, Class<T> proxyClass )
-    {
-        return ( T ) createInvokerProxy(invoker, new Class[] {proxyClass});
-    }
-
-    /**
-     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.
-     *
-     * @param classLoader  the class loader to use when generating the proxy2
-     * @param invoker      the invoker
-     * @param proxyClass the class/interface that the proxy2 should implement
-     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations
-     */
-    @SuppressWarnings( "unchecked" )
-    public <T> T createInvokerProxy( ClassLoader classLoader, Invoker invoker,
-                                     Class<T> proxyClass )
-    {
-        return ( T ) createInvokerProxy(classLoader, invoker, new Class[] {proxyClass});
-    }
-
 }



Mime
View raw message