Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

si::ijs::acs::objectexplorer::engine::Invocation Class Reference

Inheritance diagram for si::ijs::acs::objectexplorer::engine::Invocation:

Inheritance graph
[legend]
Collaboration diagram for si::ijs::acs::objectexplorer::engine::Invocation:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Invocation (short type, String name, RemoteCall data, RemoteResponseCallback cb, OETree tree)
synchronized void destroy ()
synchronized void requestDestroy ()
synchronized boolean isDestroyRequested ()
RemoteResponseCallback getCallback ()
RemoteCall getInvocationRequest ()
abstract boolean isControllable ()
synchronized boolean isDestroyed ()

Private Attributes

RemoteResponseCallback cb = null
boolean destroyed = false
boolean requestDestroy = false

Detailed Description

This type denotes a transient process that has been created as a side-effect of the remote call on the remote machine. Usually Invocations are created when asynchronous methods are called (ie. methods that take callback parameters, or methods that implement the publisher / subscriber pattern). Invocation is a transient tree node object. It is contained by the object that owned the operation which created the invocation. Invocations must be destroyed as a side-effect of the container destruction. If the method isControllable() returns false the GUI need not add the node to the tree and must not use this object as an Introspectable - i.e. must not query for operations, attributes, invoke operations etc.


Constructor & Destructor Documentation

si::ijs::acs::objectexplorer::engine::Invocation::Invocation short  type,
String  name,
RemoteCall  data,
RemoteResponseCallback  cb,
OETree  tree
[inline]
 

Constructs a new instance of invocation object.

Parameters:
type used internally by OE and engine to specify node types. Types are defined by the engine and left unchanged by OE.
name name of the invocation transient object, used by GUI display
data data determined by the engine that is stored in the invocation node, can be null at construction time if the value is provided later
cb RemoteResponseCallback object associated with this invocation. This object will deliver asynchronous responses to the GUI.
tree tree that will be the node container


Member Function Documentation

synchronized void si::ijs::acs::objectexplorer::engine::Invocation::destroy  )  [inline]
 

If the invocation is controllable, this method is called after the node representing the invocation is removed from the tree. Sets the destroyed flag to true.

RemoteResponseCallback si::ijs::acs::objectexplorer::engine::Invocation::getCallback  )  [inline]
 

Returns a callback object associated with this invocation. Callback is the object which receives asynchronous responses for the server. GUI is responsible for instantiating callbacks and passing them to the invokeAsync() method of the Operation instance, which, in response, instantiates this invocation object.

Returns:
callback that delivers data for this invocation

RemoteCall si::ijs::acs::objectexplorer::engine::Invocation::getInvocationRequest  )  [inline]
 

Returns the remote call data structure which identifies the asynchronous remote call that caused this invocation to start on the remote machine.

Returns:
call that initiated this invocation

abstract boolean si::ijs::acs::objectexplorer::engine::Invocation::isControllable  )  [pure virtual]
 

Returns true iff this invocation instance represents a remote process that is controllable through a remote object (such as a subscription or monitor object). Only if this method returns true, can invocation be used as introspectable, i.e. can have its methods queried, invoked etc. Otherwise the GUI should not interpret this invocation as a tree node and need not display it at all.

Returns:
boolean true if the remote process can be controlled through a remote object, represented by the SimpleIntrospectable interface which this invocation implements

Implemented in si::ijs::acs::objectexplorer::engine::ANKA::BACIInvocation, si::ijs::acs::objectexplorer::engine::BACI::BACIInvocation, and si::ijs::acs::objectexplorer::engine::BACI::BACIInvocation.

synchronized boolean si::ijs::acs::objectexplorer::engine::Invocation::isDestroyed  )  [inline]
 

Returns true if this controllable invocation has already been destroyed.

Returns:
boolean destroy flag

synchronized boolean si::ijs::acs::objectexplorer::engine::Invocation::isDestroyRequested  )  [inline]
 

Request destruction.

synchronized void si::ijs::acs::objectexplorer::engine::Invocation::requestDestroy  )  [inline]
 

Request destruction.


Member Data Documentation

RemoteResponseCallback si::ijs::acs::objectexplorer::engine::Invocation::cb = null [private]
 

boolean si::ijs::acs::objectexplorer::engine::Invocation::destroyed = false [private]
 

boolean si::ijs::acs::objectexplorer::engine::Invocation::requestDestroy = false [private]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 03:14:20 2009 for ACS Java API by doxygen 1.3.8