An invoker is a target of method calls, where the calls are expressed not as primitive Java method invocations, but according to the conventions of the Core Reflection API. Invokers are designed to be used along with the Core Reflection API.
The Invoker.invoke operation is similar to java.lang.reflect.Method.invoke, except that the object (or objects) which receives the message is hidden behind the invoker. Also, unlike Method.invoke, the action of the Invoker.invoke operation is completely under programmer control, because Invoker.invoke is an interface method, not a native method.
You can wrap an invoker around an object so that the invoker passes all method calls down to the object. Such an invoker is called a proxy invoker for that object.
You can also wrap a new object around an invoker, so that the object implements some given interface (or interfaces), and passes all method calls up to the invoker. Such an object is called a proxy target object for that invoker.
You can do more complex tasks with invokers, such as passing each method call through a network connection before it reaches its target object. You can also filter or replicate method invocations. You can even execute the the invocations interpretively, without ever calling the method on a "real" Java object.
@version $Revision: 81030 $