@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. |
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 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 InvocationHandlerThrowablepublic 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 - 2020 Adobe. All Rights Reserved