|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.util.MultiplexInvocationHandler<T>
public class MultiplexInvocationHandler<T>
Used to generate a proxy instance which implements a given interface and delegates its calls to each of a given list of target implementations. The content of the list of targets may be changed during the lifetime of this object, but it's not a good idea to do it while a method is being invoked.
Constructor Summary | |
---|---|
MultiplexInvocationHandler(T[] targets)
Constructor. |
Method Summary | |
---|---|
T |
createMultiplexer(java.lang.Class<T> clazz)
Returns a new proxy instance which implements the given interface type, and which uses this handler to execute its methods. |
T[] |
getTargets()
Returns the list of delegate implementations. |
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Invokes a method by invoking the same method on each of this handler's target instances. |
void |
setTargets(T[] targets)
Sets the list of delegate implementations. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MultiplexInvocationHandler(T[] targets)
targets
- target instancesMethod Detail |
---|
public void setTargets(T[] targets)
targets
- target instancespublic T[] getTargets()
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
public T createMultiplexer(java.lang.Class<T> clazz)
clazz
- interface the return value will implement
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |