public class FacadeInvoker extends Object implements 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(Object target) |
| Modifier and Type | Method and Description |
|---|---|
Object |
invoke(Object proxy,
Method method,
Object[] args) |
static Object |
newInstance(Object target,
Class[] interfaces)
Creates an object that implements the giving interfaces by
wrapping a giving object, target.
|
static Object |
newInstance(Object target,
Class[] interfaces,
ClassLoader clsLoader)
Creates an object that implements the giving interfaces by
wrapping a giving object, target.
|
protected FacadeInvoker(Object target)
public static final Object newInstance(Object target, Class[] interfaces, ClassLoader clsLoader)
The target must have all methods in all given interfaces, but might not implement all these interfaces.
public static final Object newInstance(Object target, Class[] interfaces)
A shortcut: newInstance( target, interfaces, Thread.currentThread().getContextClassLoader()).
Copyright © 2018. All rights reserved.