# Package org.omg.PortableInterceptor

Provides a mechanism to register ORB hooks through which ORB services can intercept the normal flow of execution of the ORB.

See: Description

Interface Summary
ACTIVE: org/omg/PortableInterceptor/ACTIVE.java .
ClientRequestInfo: Request Information, accessible to client-side request interceptors.
ClientRequestInfoOperations: Request Information, accessible to client-side request interceptors.
ClientRequestInterceptor: Client-side request interceptor.
ClientRequestInterceptorOperations: Client-side request interceptor.
Current: 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.
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.
DISCARDING: org/omg/PortableInterceptor/DISCARDING.java .
HOLDING: org/omg/PortableInterceptor/HOLDING.java .
INACTIVE: org/omg/PortableInterceptor/INACTIVE.java .
Interceptor: All Portable Interceptors implement Interceptor.
InterceptorOperations: All Portable Interceptors implement Interceptor.
IORInfo: Provides the server-side ORB service with access to the applicable policies during IOR construction and the ability to add components.
IORInfoOperations: Provides the server-side ORB service with access to the applicable policies during IOR construction and the ability to add components.
IORInterceptor: Interceptor used to establish tagged components in the profiles within an IOR.
IORInterceptor_3_0: org/omg/PortableInterceptor/IORInterceptor_3_0.java .
IORInterceptor_3_0Operations: org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java .
IORInterceptorOperations: Interceptor used to establish tagged components in the profiles within an IOR.
LOCATION_FORWARD: org/omg/PortableInterceptor/LOCATION_FORWARD.java .
NON_EXISTENT: org/omg/PortableInterceptor/NON_EXISTENT.java .
ObjectReferenceFactory: The object reference factory.
ObjectReferenceTemplate: The object reference template.
ORBInitializer: Facilitates interceptor registration and ORB initialization.
ORBInitializerOperations: Facilitates interceptor registration and ORB initialization.
ORBInitInfo: Passed to each `ORBInitializer`, allowing it to to register interceptors and perform other duties while the ORB is initializing.
ORBInitInfoOperations: Passed to each `ORBInitializer`, allowing it to to register interceptors and perform other duties while the ORB is initializing.
PolicyFactory: Enables policy types to be constructed using `CORBA.ORB.create_policy`.
PolicyFactoryOperations: Enables policy types to be constructed using `CORBA.ORB.create_policy`.
RequestInfo: Request Information, accessible to Interceptors.
RequestInfoOperations: Request Information, accessible to Interceptors.
ServerRequestInfo: Request Information, accessible to server-side request interceptors.
ServerRequestInfoOperations: Request Information, accessible to server-side request interceptors.
ServerRequestInterceptor: Server-side request interceptor.
ServerRequestInterceptorOperations: Server-side request interceptor.
SUCCESSFUL: org/omg/PortableInterceptor/SUCCESSFUL.java .
SYSTEM_EXCEPTION: org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java .
TRANSPORT_RETRY: org/omg/PortableInterceptor/TRANSPORT_RETRY.java .
UNKNOWN: org/omg/PortableInterceptor/UNKNOWN.java .
USER_EXCEPTION: org/omg/PortableInterceptor/USER_EXCEPTION.java .

Class Summary
AdapterManagerIdHelper: Adapter manager identifier.
AdapterNameHelper: The name of an object adapter.
AdapterStateHelper: Type of object adapter state.
CurrentHelper: 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.
ForwardRequestHelper: org/omg/PortableInterceptor/ForwardRequestHelper.java .
InvalidSlotHelper: org/omg/PortableInterceptor/InvalidSlotHelper.java .
IORInterceptor_3_0Helper: org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java .
IORInterceptor_3_0Holder: org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java .
ObjectIdHelper: Type of an object id.
ObjectReferenceFactoryHelper: The object reference factory.
ObjectReferenceFactoryHolder: The object reference factory.
ObjectReferenceTemplateHelper: The object reference template.
ObjectReferenceTemplateHolder: The object reference template.
ObjectReferenceTemplateSeqHelper: Sequence of object reference templates is used for reporting state changes that do not occur on the adapter manager.
ObjectReferenceTemplateSeqHolder: Sequence of object reference templates is used for reporting state changes that do not occur on the adapter manager.
ORBIdHelper: org/omg/PortableInterceptor/ORBIdHelper.java .
ServerIdHelper: org/omg/PortableInterceptor/ServerIdHelper.java .

Exception Summary
ForwardRequest: org/omg/PortableInterceptor/ForwardRequest.java .
InvalidSlot: org/omg/PortableInterceptor/InvalidSlot.java .

## Package org.omg.PortableInterceptor Description

Provides a mechanism to register ORB hooks through which ORB services can intercept the normal flow of execution of the ORB.

## Interceptor Types

There are currently three types of interceptors that can be registered:

- `IORInterceptor` - Used to establish tagged components in the profiles within an IOR.
- `ClientRequestInterceptor` - Intercepts the flow of a request/reply sequence through the ORB on the client side.
- `ServerRequestInterceptor` - Intercepts the flow of a request/reply sequence through the ORB on the server side.

See the javadocs for class ``ORBInitializer`` for how to go about registering interceptors.

## Known limitations / unimplemented methods in package `org.omg.PortableInterceptor`

`

- RequestInfo
  - sync_scope(): Always returns SYNC_WITH_TRANSPORT
  - arguments(): Only supported for DII/DSI calls
  - exceptions(): Only supported for DII calls on client side. Not supported on server-side.
  - contexts(): Only supported for DII calls on client side. Not supported on server-side since our ORB does not send contexts.
  - operation_context(): Only supported for DII calls on client side. Not supported on server-side since ORB does not send contexts.
  - result(): Only supported for DII/DSI calls
- ClientRequestInfo
  - received_exception_id(): Always returns null in the DII case
  - get_request_policy(int type): Not implemented.
- ServerRequestInfo
  - sending_exception(): Does not support user exceptions on the server side in non-DSI case.

`

## Package Specification

For a precise list of supported sections of official OMG specifications with which the Java[tm] Platform, Standard Edition 6 complies, see Official Specifications for CORBA support in Java SE 6.

Since:
  1.4