@Beta public abstract class AbstractInvocationHandler extends Object implements InvocationHandler
InvocationHandler that handles Object.equals(java.lang.Object),
 Object.hashCode() and Object.toString(). For example: 
 class Unsupported extends AbstractInvocationHandler {
   protected Object handleInvocation(
       Object proxy, Method method, Object[] args) {
     throw new UnsupportedOperationException();
   }
 }
 CharSequence unsupported = Reflection.newProxy(CharSequence.class, new Unsupported());
 | Constructor and Description | 
|---|
| AbstractInvocationHandler() | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object obj)By default delegates to  Object.equals(java.lang.Object)so instances are only equal if they are
 identical. | 
| protected abstract Object | handleInvocation(Object proxy,
                                Method method,
                                Object[] args)invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])delegates to this method upon any method invocation on the proxy instance,
 exceptObject.equals(java.lang.Object),Object.hashCode()andObject.toString(). | 
| int | hashCode()By default delegates to  Object.hashCode(). | 
| Object | invoke(Object proxy,
            Method method,
            Object[] args) | 
| String | toString()By default delegates to  Object.toString(). | 
public AbstractInvocationHandler()
public final Object invoke(Object proxy, Method method, @Nullable Object[] args) throws Throwable
proxy.hashCode() delegates to hashCode()
 proxy.toString() delegates to toString()
 proxy.equals(argument) returns true if: proxy and argument are of the same type
   equals(java.lang.Object) returns true for the InvocationHandler of argument
   handleInvocation(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]).
 invoke in interface InvocationHandlerThrowableprotected abstract Object handleInvocation(Object proxy, Method method, Object[] args) throws Throwable
invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) delegates to this method upon any method invocation on the proxy instance,
 except Object.equals(java.lang.Object), Object.hashCode() and Object.toString(). The result
 will be returned as the proxied method's return value.
 
 Unlike invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]), args will never be null. When the method has no parameter,
 an empty array is passed in.
Throwablepublic boolean equals(Object obj)
Object.equals(java.lang.Object) so instances are only equal if they are
 identical. proxy.equals(argument) returns true if: proxy and argument are of the same type
 InvocationHandler of argument
 Subclasses can override this method to provide custom equality.
public int hashCode()
Object.hashCode(). The dynamic proxies' hashCode() will
 delegate to this method. Subclasses can override this method to provide custom equality.public String toString()
Object.toString(). The dynamic proxies' toString() will
 delegate to this method. Subclasses can override this method to provide custom string
 representation for the proxies.Copyright © 2010-2015. All Rights Reserved.