public abstract class FacadeProxyInvocationHandler extends DefaultInvocationHandler
InvocationHandler abstract base class to "extend" concrete
implementation Classes by adding "facade" interfaces. See
getProxyClassFor(Object).| Constructor and Description |
|---|
FacadeProxyInvocationHandler() |
| Modifier and Type | Method and Description |
|---|---|
Object |
enhance(Object in)
Method to return an extended
Proxy implementing "facade"
interfaces for in if getProxyClassFor(Object)
returns non-null. |
protected abstract Class<?> |
getProxyClassFor(Object object)
|
Object |
invoke(Object proxy,
Method method,
Object[] argv)
This method assumes
method.isDefault() and
will invoke Method directly. |
getImplementedInterfacesOf, getProxyClass, newProxyInstancepublic FacadeProxyInvocationHandler()
public Object enhance(Object in)
Proxy implementing "facade"
interfaces for in if getProxyClassFor(Object)
returns non-null.in - The Object to extend.Proxy if getProxyClassFor(Object) returns
non-null; in otherwise.protected abstract Class<?> getProxyClassFor(Object object)
public Object invoke(Object proxy, Method method, Object[] argv) throws Throwable
DefaultInvocationHandlermethod.isDefault() and
will invoke Method directly.
If the method.isDefault(), that
Method will be invoked directly. If the Method is
declared in Object, it is applied to this
InvocationHandler. Otherwise, the call will be dispatched to
a declared Method on this InvocationHandler
with the same name and compatible parameter types (forcing access if
necessary).invoke in interface DefaultInterfaceMethodInvocationHandlerinvoke in interface InvocationHandlerinvoke in class DefaultInvocationHandlerThrowableCopyright © 2015–2020 Allen D. Ball. All rights reserved.