public class MulticastingInvoker<T> extends java.lang.Object implements Invoker
Invoker implementation that multicasts calls to multiple targets. Proxies generated by this class will
forward all method invocations to an array of underlying objects. The behavior is recursive, so return values will
also be multicasting objects.| Modifier and Type | Field and Description |
|---|---|
private static java.lang.reflect.Method |
getTargetsInArray |
private static java.lang.reflect.Method |
getTargetsInTypedArray |
private static java.lang.reflect.Method |
multicastTargetsDirect |
private static java.lang.reflect.Method |
multicastTargetsIndirect |
private ProxyFactory |
proxyFactory |
private static long |
serialVersionUID |
private java.lang.Object[] |
targets |
private java.lang.Class<?>[] |
types |
| Constructor and Description |
|---|
MulticastingInvoker(java.lang.Class<?>[] type,
ProxyFactory proxyFactory,
java.lang.Object[] targets)
Construct a MulticastingInvoker.
|
| Modifier and Type | Method and Description |
|---|---|
private static java.lang.Byte |
addBytes(java.lang.Object[] args) |
private static java.lang.Character |
addChars(java.lang.Object[] args) |
private static java.lang.Double |
addDoubles(java.lang.Object[] args) |
private static java.lang.Float |
addFloats(java.lang.Object[] args) |
private static java.lang.Integer |
addIntegers(java.lang.Object[] args) |
private static java.lang.Long |
addLongs(java.lang.Object[] args) |
private static java.lang.Short |
addShorts(java.lang.Object[] args) |
private static java.lang.Boolean |
andBooleans(java.lang.Object[] args) |
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Invocation of a method of the proxied object.
|
T |
proxy()
Create a proxy for this Invoker.
|
private static final long serialVersionUID
private static final java.lang.reflect.Method multicastTargetsDirect
private static final java.lang.reflect.Method multicastTargetsIndirect
private static final java.lang.reflect.Method getTargetsInArray
private static final java.lang.reflect.Method getTargetsInTypedArray
private java.lang.Class<?>[] types
private ProxyFactory proxyFactory
private java.lang.Object[] targets
public MulticastingInvoker(java.lang.Class<?>[] type,
ProxyFactory proxyFactory,
java.lang.Object[] targets)
type - the implemented typesproxyFactory - the ProxyFactory to usetargets - the target instances where the proxy delegates a callpublic T proxy()
public java.lang.Object invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Throwable
Invokerprivate static java.lang.Byte addBytes(java.lang.Object[] args)
private static java.lang.Character addChars(java.lang.Object[] args)
private static java.lang.Short addShorts(java.lang.Object[] args)
private static java.lang.Integer addIntegers(java.lang.Object[] args)
private static java.lang.Long addLongs(java.lang.Object[] args)
private static java.lang.Float addFloats(java.lang.Object[] args)
private static java.lang.Double addDoubles(java.lang.Object[] args)
private static java.lang.Boolean andBooleans(java.lang.Object[] args)