Package gnu.cajo.invoke
Interface Invoke
- All Superinterfaces:
Remote
,Serializable
- All Known Subinterfaces:
RemoteInvoke
- All Known Implementing Classes:
AsyncMethod
,AuditorItem
,Cajo.Purger
,Cajo.Searchable
,ClientProxy
,DynamicObject
,HashedProxy
,Implements
,InterceptorItem
,MonitorItem
,Nice
,ProxyLoader
,Queue
,Remote
,Wrapper
,Zedmobject
,ZippedProxy
The generic inter-component communication interface, and foundation for
this paradigm. This provides a standard communication interface between
objects. It is used to pass arguments to, and recieve synchronous
responses from, the receiving object.
The implementation is so extrmely simple, it's included here:
public interface Invoke extends Serializable { Object invoke(String method, Object args[]) throws Exception; }
- Version:
- 1.0, 01-Nov-99 Initial release
-
Method Summary
-
Method Details
-
invoke
Used by other objects to pass data into this object, and receive synchronous data responses from it, if any. The invocation may, or may not contain inbound data. It may, or may not, return a data object response. The functionality of this method is completely application specific. This interface serves only to define the format of communication between items.Note: this method could be called reentrantly, by many objects, simultaneously. If this would cause a problem, the critical sections of this item's method must be synchronized. In general, synchronising the whole method is strongly discouraged, as it could block multiple clients far too generally.
- Parameters:
method
- The name of the method to be invoked on the object, except in extremely special circumstances, it should not be null.args
- The data relevant to the invocation. It can be a single object, an array or objects, or simply null.- Returns:
- Any synchronous data defined by a subclass' implementation, it can be an array of of objects, or possibly null
- Throws:
Exception
- As needed by the application. Note: subclasses of Exception can be thrown, to allow clients the opportunity to catch only specific types, these exceptions could also contain application specific methods, and fields, to supplement the error information.
-