public abstract class Invocation extends OETreeNode implements SimpleIntrospectable
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.childrenHolder| Constructor and Description |
|---|
Invocation(short type,
java.lang.String name,
RemoteCall data,
RemoteResponseCallback cb,
OETree tree)
Constructs a new instance of invocation object.
|
| Modifier and Type | Method and Description |
|---|---|
void |
destroy()
If the invocation is controllable, this method is called after the node
representing the invocation is removed from the tree.
|
RemoteResponseCallback |
getCallback()
Returns a callback object associated with this invocation.
|
RemoteCall |
getInvocationRequest()
Returns the remote call data structure which
identifies the asynchronous remote call that
caused this invocation to start on the remote
machine.
|
abstract boolean |
isControllable()
Returns
true iff this invocation instance
represents a remote process that is controllable through
a remote object (such as a subscription or monitor object). |
boolean |
isDestroyed()
Returns
true if this controllable invocation
has already been destroyed. |
boolean |
isDestroyRequested()
Request destruction.
|
void |
requestDestroy()
Request destruction.
|
areChildrenDefined, compareTo, getChildCount, getIcon, getName, getNodeType, getParentTree, isIntrospectable, isLeaf, setChildrenDefined, setParentTree, toStringadd, breadthFirstEnumeration, children, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObjectequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetAttributes, getName, getOperationspublic Invocation(short type,
java.lang.String name,
RemoteCall data,
RemoteResponseCallback cb,
OETree tree)
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 displaydata - data determined by the engine that is stored in the invocation node, can
be null at construction time if the value is provided latercb - RemoteResponseCallback object associated with this invocation. This object
will deliver asynchronous responses to the GUI.tree - tree that will be the node containerpublic void destroy()
destroyed flag to true.public void requestDestroy()
public boolean isDestroyRequested()
public RemoteResponseCallback getCallback()
invokeAsync()
method of the Operation instance, which, in
response, instantiates this invocation object.public RemoteCall getInvocationRequest()
public abstract boolean isControllable()
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.SimpleIntrospectable interface which this
invocation implementspublic boolean isDestroyed()
true if this controllable invocation
has already been destroyed.