Author: markt
Date: Mon Oct 21 19:01:37 2013
New Revision: 1534324

URL: http://svn.apache.org/r1534324
Log:
More Checkstyle inspired Javadoc fixes

Added:
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/package.html
   (with props)
Modified:
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/BaseProxyHandler.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxyHandler.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxySource.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxyHandler.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxySource.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedKeyedObjectPool.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedObjectPool.java
    
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxySource.java

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/BaseProxyHandler.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/BaseProxyHandler.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/BaseProxyHandler.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/BaseProxyHandler.java
 Mon Oct 21 19:01:37 2013
@@ -21,6 +21,11 @@ import java.lang.reflect.Method;
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * Base implementation for object wrappers when using a
+ * {@link ProxiedObjectPool}.
+ *
+ * @param <T> type of the wrapped pooled object
+ *
  * @since 2.0
  */
 class BaseProxyHandler<T> {
@@ -29,17 +34,37 @@ class BaseProxyHandler<T> {
     private final UsageTracking<T> usageTracking;
 
 
+    /**
+     * Create a new wrapper for the given pooled object.
+     *
+     * @param pooledObject  The object to wrap
+     * @param usageTracking The instance, if any (usually the object pool) to
+     *                      be provided with usage tracking information for 
this
+     *                      wrapped object
+     */
     BaseProxyHandler(T pooledObject, UsageTracking<T> usageTracking) {
         this.pooledObject = pooledObject;
         this.usageTracking = usageTracking;
     }
 
 
+    /**
+     * Obtain the wrapped, pooled object.
+     *
+     * @return the underlying pooled object
+     */
     T getPooledObject() {
         return pooledObject;
     }
 
 
+    /**
+     * Disable the proxy wrapper. Called when the object has been returned to
+     * the pool. Further use of the wrapper should result in an
+     * {@link IllegalStateException}.
+     *
+     * @return the object that this proxy was wrapping
+     */
     T disableProxy() {
         T result = pooledObject;
         pooledObject = null;
@@ -47,6 +72,12 @@ class BaseProxyHandler<T> {
     }
 
 
+    /**
+     * Check that the proxy is still valid (i.e. that {@link #disableProxy()}
+     * has not been called).
+     *
+     * @throws IllegalStateException if {@link #disableProxy()} has been called
+     */
     void validateProxiedObject() {
         if (pooledObject == null) {
             throw new IllegalStateException("This object may no longer be " +
@@ -55,6 +86,14 @@ class BaseProxyHandler<T> {
     }
 
 
+    /**
+     * Invoke the given method on the wrapped object.
+     *
+     * @param method    The method to invoke
+     * @param args      The arguments to the method
+     * @return          The result of the method call
+     * @throws Throwable    If the method invocation fails
+     */
     Object doInvoke(Method method, Object[] args) throws Throwable {
         validateProxiedObject();
         T pooledObject = getPooledObject();

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxyHandler.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxyHandler.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxyHandler.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxyHandler.java
 Mon Oct 21 19:01:37 2013
@@ -24,12 +24,24 @@ import net.sf.cglib.proxy.MethodIntercep
 import net.sf.cglib.proxy.MethodProxy;
 
 /**
+ * CGLib implementation of the proxy handler.
+ *
+ * @param <T> type of the wrapped pooled object
+ *
  * @since 2.0
  */
 public class CglibProxyHandler<T> extends BaseProxyHandler<T>
         implements MethodInterceptor {
 
 
+    /**
+     * Create a CGLib proxy instance.
+     *
+     * @param pooledObject  The object to wrap
+     * @param usageTracking The instance, if any (usually the object pool) to
+     *                      be provided with usage tracking information for 
this
+     *                      wrapped object
+     */
     CglibProxyHandler(T pooledObject, UsageTracking<T> usageTracking) {
         super(pooledObject, usageTracking);
     }

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxySource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxySource.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxySource.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/CglibProxySource.java
 Mon Oct 21 19:01:37 2013
@@ -22,12 +22,21 @@ import net.sf.cglib.proxy.Factory;
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * Provides proxy objects using CGLib.
+ *
+ * @param <T> type of the pooled object to be proxied
+ *
  * @since 2.0
  */
 public class CglibProxySource<T> implements ProxySource<T> {
 
     private final Class<? extends T> superclass;
 
+    /**
+     * Create a new proxy source for the given class.
+     *
+     * @param superclass The class to proxy
+     */
     public CglibProxySource(Class<? extends T> superclass) {
         this.superclass = superclass;
     }

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxyHandler.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxyHandler.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxyHandler.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxyHandler.java
 Mon Oct 21 19:01:37 2013
@@ -22,11 +22,23 @@ import java.lang.reflect.Method;
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * Java reflection implementation of the proxy handler.
+ *
+ * @param <T> type of the wrapped pooled object
+ *
  * @since 2.0
  */
 class JdkProxyHandler<T> extends BaseProxyHandler<T>
         implements InvocationHandler {
 
+    /**
+     * Create a Java reflection proxy instance.
+     *
+     * @param pooledObject  The object to wrap
+     * @param usageTracking The instance, if any (usually the object pool) to
+     *                      be provided with usage tracking information for 
this
+     *                      wrapped object
+     */
     JdkProxyHandler(T pooledObject, UsageTracking<T> usageTracking) {
         super(pooledObject, usageTracking);
     }

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxySource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxySource.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxySource.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/JdkProxySource.java
 Mon Oct 21 19:01:37 2013
@@ -21,6 +21,10 @@ import java.lang.reflect.Proxy;
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * Provides proxy objects using Java reflection.
+ *
+ * @param <T> type of the pooled object to be proxied
+ *
  * @since 2.0
  */
 class JdkProxySource<T> implements ProxySource<T> {
@@ -29,6 +33,12 @@ class JdkProxySource<T> implements Proxy
     private final Class<?>[] interfaces;
 
 
+    /**
+     * Create a new proxy source for the given interfaces.
+     *
+     * @param classLoader The class loader with which to create the proxy
+     * @param interfaces  The interfaces to proxy
+     */
     JdkProxySource(ClassLoader classLoader, Class<?>[] interfaces) {
         this.classLoader = classLoader;
         this.interfaces = interfaces;

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedKeyedObjectPool.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedKeyedObjectPool.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedKeyedObjectPool.java
 Mon Oct 21 19:01:37 2013
@@ -22,6 +22,14 @@ import org.apache.commons.pool2.KeyedObj
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * Create a new keyed object pool where the pooled objects are wrapped in
+ * proxies allowing better control of pooled objects and in particular the
+ * prevention of the continued use of an object by a client after that client
+ * returns the object to the pool.
+ *
+ * @param <K> type of the key
+ * @param <V> type of the pooled object
+ *
  * @since 2.0
  */
 public class ProxiedKeyedObjectPool<K,V> implements KeyedObjectPool<K,V> {
@@ -30,6 +38,12 @@ public class ProxiedKeyedObjectPool<K,V>
     private final ProxySource<V> proxySource;
 
 
+    /**
+     * Create a new proxied object pool.
+     *
+     * @param pool  The object pool to wrap
+     * @param proxySource The source of the proxy objects
+     */
     public ProxiedKeyedObjectPool(KeyedObjectPool<K,V> pool,
             ProxySource<V> proxySource) {
         this.pool = pool;

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedObjectPool.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedObjectPool.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedObjectPool.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxiedObjectPool.java
 Mon Oct 21 19:01:37 2013
@@ -22,6 +22,13 @@ import org.apache.commons.pool2.ObjectPo
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * Create a new object pool where the pooled objects are wrapped in proxies
+ * allowing better control of pooled objects and in particular the prevention
+ * of the continued use of an object by a client after that client returns the
+ * object to the pool.
+ *
+ * @param <T> type of the pooled object
+ *
  * @since 2.0
  */
 public class ProxiedObjectPool<T> implements ObjectPool<T> {
@@ -30,6 +37,12 @@ public class ProxiedObjectPool<T> implem
     private final ProxySource<T> proxySource;
 
 
+    /**
+     * Create a new proxied object pool.
+     *
+     * @param pool  The object pool to wrap
+     * @param proxySource The source of the proxy objects
+     */
     public ProxiedObjectPool(ObjectPool<T> pool, ProxySource<T> proxySource) {
         this.pool = pool;
         this.proxySource = proxySource;

Modified: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxySource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxySource.java?rev=1534324&r1=1534323&r2=1534324&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxySource.java
 (original)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/ProxySource.java
 Mon Oct 21 19:01:37 2013
@@ -19,9 +19,33 @@ package org.apache.commons.pool2.proxy;
 import org.apache.commons.pool2.UsageTracking;
 
 /**
+ * The interface that any provide of proxy instances must implement to allow 
the
+ * {@link ProxiedObjectPool} to create proxies as required.
+ *
+ * @param <T> type of the pooled object to be proxied
+ *
  * @since 2.0
  */
 interface ProxySource<T> {
+
+    /**
+     * Create a new proxy object, wrapping the given pooled object.
+     *
+     * @param pooledObject  The object to wrap
+     * @param usageTracking The instance, if any (usually the object pool) to
+     *                      be provided with usage tracking information for 
this
+     *                      wrapped object
+     *
+     * @return the new proxy object
+     */
     T createProxy(T pooledObject, UsageTracking<T> usageTracking);
+
+    /**
+     * Obtain the wrapped object from the given proxy.
+     *
+     * @param proxy The proxy object
+     *
+     * @return The pooled objetc wrapped by the given proxy
+     */
     T resolveProxy(T proxy);
 }

Added: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/package.html
URL: 
http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/package.html?rev=1534324&view=auto
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/package.html
 (added)
+++ 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/package.html
 Mon Oct 21 19:01:37 2013
@@ -0,0 +1,37 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+   <head>
+      <title>Package Documentation for org.apache.commons.pool2.proxy</title>
+   </head>
+   <body>
+      <p>
+         Object pooling proxy implementation.
+      </p>
+      <p>
+         The <code>org.apache.commons.pool2.proxy</code> package defines a
+         object pool that wraps all objects returned to clients. This allows it
+         to disable those proxies when the objects are returned thereby 
enabling
+         the continued use of those objects by clients to be detected..
+      </p>
+      <p>
+         Support is provided for <code>java.lang.reflect.Proxy</code> and for
+         <code>net.sf.cglib.proxy</code> based proxies. The latter, requires 
the
+         additional of the optional Code Generation Library (GCLib).
+      </p>
+    </body>
+</html>

Propchange: 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/proxy/package.html
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to