org.omg.PortableInterceptor
Interface CurrentOperations

All Superinterfaces:
CurrentOperations sample code for org.omg.CORBA.CurrentOperations definition code for org.omg.CORBA.CurrentOperations
All Known Subinterfaces:
Current sample code for org.omg.PortableInterceptor.Current definition code for org.omg.PortableInterceptor.Current

public interface CurrentOperations
extends CurrentOperations sample code for org.omg.CORBA.CurrentOperations definition code for org.omg.CORBA.CurrentOperations

Portable Interceptors Current (also known as PICurrent) is merely a slot table, the slots of which are used by each service to transfer their context data between their context and the request's or reply's service context. Each service which wishes to use PICurrent reserves a slot or slots at initialization time and uses those slots during the processing of requests and replies.

Before an invocation is made, PICurrent is obtained via a call to ORB.resolve_initial_references( "PICurrent" ). From within the interception points, the data on PICurrent that has moved from the thread scope to the request scope is available via the get_slot operation on the RequestInfo object. A PICurrent can still be obtained via resolve_initial_references, but that is the Interceptor's thread scope PICurrent.


Method Summary
 Any sample code for org.omg.CORBA.Any definition code for org.omg.CORBA.Any get_slot sample code for org.omg.PortableInterceptor.CurrentOperations.get_slot(int) definition code for org.omg.PortableInterceptor.CurrentOperations.get_slot(int) (int id)
          Retrieves the slot data the application set in PICurrent via get_slot.
 void set_slot sample code for org.omg.PortableInterceptor.CurrentOperations.set_slot(int, org.omg.CORBA.Any) definition code for org.omg.PortableInterceptor.CurrentOperations.set_slot(int, org.omg.CORBA.Any) (int id, Any sample code for org.omg.CORBA.Any definition code for org.omg.CORBA.Any  data)
          Sets data in a slot.
 

Method Detail

get_slot sample code for org.omg.PortableInterceptor.CurrentOperations.get_slot(int) definition code for org.omg.PortableInterceptor.CurrentOperations.get_slot(int)

Any sample code for org.omg.CORBA.Any definition code for org.omg.CORBA.Any  get_slot(int id)
             throws InvalidSlot sample code for org.omg.PortableInterceptor.InvalidSlot definition code for org.omg.PortableInterceptor.InvalidSlot 
Retrieves the slot data the application set in PICurrent via get_slot. The data is in the form of an Any.

If the given slot has not been set, an Any containing a type code with a TCKind value of tk_null and no value is returned.

Parameters:
id - The SlotId of the slot from which the data will be returned.
Returns:
The data, in the form of an Any, of the given slot identifier.
Throws:
InvalidSlot sample code for org.omg.PortableInterceptor.InvalidSlot definition code for org.omg.PortableInterceptor.InvalidSlot - thrown if get_slot is called on a slot that has not been allocated.
BAD_INV_ORDER - thrown if get_slot is called from within an ORB initializer

set_slot sample code for org.omg.PortableInterceptor.CurrentOperations.set_slot(int, org.omg.CORBA.Any) definition code for org.omg.PortableInterceptor.CurrentOperations.set_slot(int, org.omg.CORBA.Any)

void set_slot(int id,
              Any sample code for org.omg.CORBA.Any definition code for org.omg.CORBA.Any  data)
              throws InvalidSlot sample code for org.omg.PortableInterceptor.InvalidSlot definition code for org.omg.PortableInterceptor.InvalidSlot 
Sets data in a slot. The data is in the form of an Any. If data already exists in that slot, it is overridden.

Parameters:
id - The SlotId of the slot to which the data will be set.
data - The data, in the form of an Any, which will be set to the identified slot.
Throws:
InvalidSlot sample code for org.omg.PortableInterceptor.InvalidSlot definition code for org.omg.PortableInterceptor.InvalidSlot - thrown if set_slot is called on a slot that has not been allocated.
BAD_INV_ORDER - thrown if set_slot is called from within an ORB initializer.