Public Member Functions | Package Functions

si.ijs.acs.objectexplorer.engine.Introspectable Interface Reference

Inheritance diagram for si.ijs.acs.objectexplorer.engine.Introspectable:
si.ijs.acs.objectexplorer.engine.SimpleIntrospectable si.ijs.acs.objectexplorer.engine.BACI.BACIRemoteNode si.ijs.acs.objectexplorer.engine.BACI.DelegateRemoteNode

List of all members.

Public Member Functions

void disconnect ()
boolean isConnected ()
boolean isNonSticky ()

Package Functions

void connect ()

Detailed Description

Introspectable extends the SimpleIntrospectable interface and adds the connection capability to the parent interface. While the simple introspectable cannot connect to the remote object by itself and needs to obtain the remote reference from another introspectable, instances of this interface have the described capability. For example, it is impossible to establish connection to transient objects, such as those represented by Invocations. These are for instance control objects that are returned when subscription is created in publish / subscribe design pattern. The reference to transient objects is obtained by creating a transient object on an introspectable. Introspectables also follow a life cycle convention: when an introspectable is returned by the remote access interface it must be connected before its introspective functions are called. It must be disconnected when it is no longer used. GUI defines when a remote object is no longer needed. Note that there is no one-to-one correspondence between the introspectable instances and tree nodes, because tree nodes can exist that are not introspectables (as artefacts of the naming service, for instance).


Member Function Documentation

void si.ijs.acs.objectexplorer.engine.Introspectable.connect (  )  [package]

When this method is called, the engine implementation must obtain all relevant information from the remote system to initialize this instance. After the call completes, the introspective methods must return correct introspective information. If this method is called on an already connected object, it should return NOP.

Implemented in si.ijs.acs.objectexplorer.engine.BACI.BACIRemoteNode, and si.ijs.acs.objectexplorer.engine.BACI.DelegateRemoteNode.

Referenced by si.ijs.acs.objectexplorer.TreeHandlerBean.connect().

void si.ijs.acs.objectexplorer.engine.Introspectable.disconnect (  ) 

Call when the introspectable is no longer used. The call will release the introspectable resources. A call on an already disconnected object does NOP. GUI determines, when the object is no longer used. Note that as a side effect, the introspectable that is being disconnected must also destroy all invocations that it has spawned. Note also, that an introspectable must destroy all of its nodes before it destroys itself.

Implemented in si.ijs.acs.objectexplorer.engine.BACI.BACIRemoteNode, and si.ijs.acs.objectexplorer.engine.BACI.DelegateRemoteNode.

Referenced by si.ijs.acs.objectexplorer.TreeHandlerBean.disconnect().

boolean si.ijs.acs.objectexplorer.engine.Introspectable.isConnected (  ) 

This method is needed by the OE GUI to render tree cells according to the connection state of the node, and to show an appropriate popup menu

Returns:
boolean connection state flag

Implemented in si.ijs.acs.objectexplorer.engine.BACI.BACIRemoteNode, and si.ijs.acs.objectexplorer.engine.BACI.DelegateRemoteNode.

Referenced by si.ijs.acs.objectexplorer.TreeHandlerBean.disconnect(), si.ijs.acs.objectexplorer.ObjectExplorer.oETree1_MouseClicked(), and si.ijs.acs.objectexplorer.ObjectExplorer.oeTreeByName_MouseClicked().

boolean si.ijs.acs.objectexplorer.engine.Introspectable.isNonSticky (  ) 

This method is needed by the OE GUI to render tree cells according to the connection state of the node, and to show an appropriate popup menu

Returns:
boolean non-sticky (objexp is not an owner) state flag

Implemented in si.ijs.acs.objectexplorer.engine.BACI.BACIRemoteNode, and si.ijs.acs.objectexplorer.engine.BACI.DelegateRemoteNode.

Referenced by si.ijs.acs.objectexplorer.ObjectExplorer.oETree1_MouseClicked().


The documentation for this interface was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties