CurrentOperations (Java Platform SE 8 )
Keywords: org.omg.PortableInterceptor.CurrentOperations interface
Date: 2026-04-22

org.omg.PortableInterceptor

## Interface CurrentOperations

- All Superinterfaces:
    CurrentOperations
  All Known Subinterfaces:
    Current

      public interface CurrentOperations
      extends 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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Any` | `get_slot(int id)` Retrieves the slot data the application set in PICurrent via `get_slot`.
    `void` | `set_slot(int id, Any data)` Sets data in a slot.

- - ### Method Detail

    - #### get_slot

          Any get_slot(int id)
                throws 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` - 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

          void set_slot(int id,
                        Any data)
                 throws 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` - 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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.