public class FacadeInvoker
extends java.lang.Object
implements java.lang.reflect.InvocationHandler
This Invocation handler assumes the object being facaded (a.k.a, the target) has all methods of these interfaces, but it might not implement all of these interfaces directly.
It happens when you need to provide interfaces to classes that come from third parties.
Example:
class A { public void f() {...} } interface I { public void f(); }
Then, you could do:I i = (I)FacadeInvoker.newInstance(new A(), new Class[] {I});
Modifier | Constructor and Description |
---|---|
protected |
FacadeInvoker(java.lang.Object target) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args) |
static java.lang.Object |
newInstance(java.lang.Object target,
java.lang.Class[] interfaces)
Creates an object that implements the giving interfaces by
wrapping a giving object, target.
|
static java.lang.Object |
newInstance(java.lang.Object target,
java.lang.Class[] interfaces,
java.lang.ClassLoader clsLoader)
Creates an object that implements the giving interfaces by
wrapping a giving object, target.
|
public static final java.lang.Object newInstance(java.lang.Object target, java.lang.Class[] interfaces, java.lang.ClassLoader clsLoader)
The target must have all methods in all given interfaces, but might not implement all these interfaces.
public static final java.lang.Object newInstance(java.lang.Object target, java.lang.Class[] interfaces)
A shortcut: newInstance( target, interfaces, Thread.currentThread().getContextClassLoader()).
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
invoke
in interface java.lang.reflect.InvocationHandler
java.lang.Throwable
Copyright © 2005-2018 Potix Corporation. All Rights Reserved.