1. package org.omg.PortableInterceptor;
  2. /**
  3. * org/omg/PortableInterceptor/CurrentOperations.java .
  4. * Generated by the IDL-to-Java compiler (portable), version "3.2"
  5. * from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
  6. * Wednesday, September 15, 2004 10:28:46 AM GMT
  7. */
  8. /**
  9. * Portable Interceptors Current (also known as <code>PICurrent</code>)
  10. * is merely a slot table, the slots of which are used by each service to
  11. * transfer their context data between their context and the request's or
  12. * reply's service context. Each service which wishes to use PICurrent
  13. * reserves a slot or slots at initialization time and uses those slots
  14. * during the processing of requests and replies.
  15. * <p>
  16. * Before an invocation is made, PICurrent is obtained via a call to
  17. * <code>ORB.resolve_initial_references( "PICurrent" )</code>. From within
  18. * the interception points, the data on PICurrent that has moved from the
  19. * thread scope to the request scope is available via the
  20. * <code>get_slot</code> operation on the <code>RequestInfo</code> object.
  21. * A PICurrent can still be obtained via
  22. * <code>resolve_initial_references</code>, but that is the Interceptor's
  23. * thread scope PICurrent.
  24. */
  25. public interface CurrentOperations extends org.omg.CORBA.CurrentOperations
  26. {
  27. /**
  28. * Retrieves the slot data the application set in PICurrent via
  29. * <code>get_slot</code>. The data is in the form of an Any.
  30. * <p>
  31. * If the given slot has not been set, an Any containing a type code
  32. * with a <code>TCKind</code> value of <code>tk_null</code> and no value
  33. * is returned.
  34. *
  35. * @param id The <code>SlotId</code> of the slot from which the data will
  36. * be returned.
  37. * @return The data, in the form of an Any, of the given slot identifier.
  38. * @exception InvalidSlot thrown if get_slot is called on a slot that
  39. * has not been allocated.
  40. * @exception BAD_INV_ORDER thrown if <code>get_slot</code> is called
  41. * from within an ORB initializer
  42. */
  43. org.omg.CORBA.Any get_slot (int id) throws org.omg.PortableInterceptor.InvalidSlot;
  44. /**
  45. * Sets data in a slot. The data is in the form of an Any. If data
  46. * already exists in that slot, it is overridden.
  47. *
  48. * @param id The <code>SlotId</code> of the slot to which the data will
  49. * be set.
  50. * @param data The data, in the form of an Any, which will be set
  51. * to the identified slot.
  52. * @exception InvalidSlot thrown if <code>set_slot</code> is called on
  53. * a slot that has not been allocated.
  54. * @exception BAD_INV_ORDER thrown if <code>set_slot</code> is called
  55. * from within an ORB initializer.
  56. */
  57. void set_slot (int id, org.omg.CORBA.Any data) throws org.omg.PortableInterceptor.InvalidSlot;
  58. } // interface CurrentOperations