public class ProxyFactory
extends java.lang.Object
| Modifier and Type | Method and Description | 
|---|---|
static <P> P | 
newProxy(java.lang.Class<P> type,
        P delegate)
Create a new  
 of the given type. | 
static <P> P | 
newSoftProxy(java.lang.Class<P> type,
            P delegate)
Create a new  
 of the given type. | 
static <P> P | 
newSoftProxy(java.lang.Class<P> type,
            P delegate,
            Operator runWhenNull)
Create a new  
 of the given type. | 
static <P> P | 
newSoftProxy(java.lang.Class<P> type,
            P delegate,
            java.lang.Runnable runWhenNull)
Deprecated. 
 
use  
#newSoftProxy(Class | 
static <P> P | 
newWeakProxy(java.lang.Class<P> type,
            P delegate)
Create a new  
 of the given type. | 
static <P> P | 
newWeakProxy(java.lang.Class<P> type,
            P delegate,
            Operator runWhenNull)
Create a new  
 of the given type. | 
static <P> P | 
newWeakProxy(java.lang.Class<P> type,
            P delegate,
            java.lang.Runnable runWhenNull)
Deprecated. 
 
Use  
#newWeakProxy(Class | 
public static <P> P newProxy(java.lang.Class<P> type,
             P delegate)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedProxy of the given typepublic static <P> P newWeakProxy(java.lang.Class<P> type,
                 P delegate)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.  Only a weak reference
 to the delegate will be held by the proxy, such that the proxy will not 
 keep the delegate from being garbage collected.  
 This may be useful for providing a proxy to an event listener, so that the object to which the listener proxy is added won't hold a hard reference to the delegate itself thereby reducing potential memory issues and freeing the programmer from the job of determining the best opportunity to remove the listener.
P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedProxy of the given type@Deprecated
public static <P> P newWeakProxy(java.lang.Class<P> type,
                            P delegate,
                            java.lang.Runnable runWhenNull)
#newWeakProxy(Class, P, Operator)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.  Only a weak reference
 to the delegate will be held by the proxy, such that the proxy will not 
 keep the delegate from being garbage collected.  The optional
 Runnable will be executed in the case that the proxy 
 is invoked after its reference to the delegate has been cleared (usually
 due to garbage collection).
 This may be useful for providing a proxy to an event listener, so that the object to which the listener proxy is added won't hold a hard reference to the delegate itself thereby reducing potential memory issues and freeing the programmer from the job of determining the best opportunity to remove the listener.
P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedrunWhenNull - will be executed when the reference to the delegate has 
 been clearedProxy of the given typepublic static <P> P newWeakProxy(java.lang.Class<P> type,
                 P delegate,
                 Operator runWhenNull)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.  Only a weak reference
 to the delegate will be held by the proxy, such that the proxy will not 
 keep the delegate from being garbage collected.  The optional
 Runnable will be executed in the case that the proxy 
 is invoked after its reference to the delegate has been cleared (usually
 due to garbage collection).
 This may be useful for providing a proxy to an event listener, so that the object to which the listener proxy is added won't hold a hard reference to the delegate itself thereby reducing potential memory issues and freeing the programmer from the job of determining the best opportunity to remove the listener.
P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedrunWhenNull - will be invoked with the created proxy instance when 
 the reference to the delegate has been clearedProxy of the given typepublic static <P> P newSoftProxy(java.lang.Class<P> type,
                 P delegate)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.  Only a soft reference
 to the delegate will be held by the proxy, such that the proxy will not 
 keep the delegate from being garbage collected.  Usually the delegate will
 not be collected until the VM is low on memory.
 This may be useful for providing a proxy to an event listener, so that the object to which the listener proxy is added won't hold a hard reference to the delegate itself thereby reducing potential memory issues and freeing the programmer from the job of determining the best opportunity to remove the listener.
P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedProxy of the given type@Deprecated
public static <P> P newSoftProxy(java.lang.Class<P> type,
                            P delegate,
                            java.lang.Runnable runWhenNull)
#newSoftProxy(Class, P, Operator)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.  Only a weak reference
 to the delegate will be held by the proxy, such that the proxy will not 
 keep the delegate from being garbage collected.  Usually the delegate will
 not be collected until the VM is low on memory.  The optional
 Runnable will be executed in the case that the proxy 
 is invoked after its reference to the delegate has been cleared (usually
 due to garbage collection).
 This may be useful for providing a proxy to an event listener, so that the object to which the listener proxy is added won't hold a hard reference to the delegate itself thereby reducing potential memory issues and freeing the programmer from the job of determining the best opportunity to remove the listener.
P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedrunWhenNull - will be executed when the reference to the delegate has 
 been clearedProxy of the given typepublic static <P> P newSoftProxy(java.lang.Class<P> type,
                 P delegate,
                 Operator runWhenNull)
Proxy of the given type.  Method 
 invocations will be forwarded to the given delegate.  Only a weak reference
 to the delegate will be held by the proxy, such that the proxy will not 
 keep the delegate from being garbage collected.  Usually the delegate will
 not be collected until the VM is low on memory.  The optional
 Runnable will be executed in the case that the proxy 
 is invoked after its reference to the delegate has been cleared (usually
 due to garbage collection).
 This may be useful for providing a proxy to an event listener, so that the object to which the listener proxy is added won't hold a hard reference to the delegate itself thereby reducing potential memory issues and freeing the programmer from the job of determining the best opportunity to remove the listener.
P - the parameterized typetype - the type to be implemented by the returned proxy (must be an 
 interface type)delegate - the implementation to which method invocations will be 
 forwardedrunWhenNull - will be invoked with the created proxy instance when 
 the reference to the delegate has been clearedProxy of the given type