# 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
  Interface | Description
  --- | ---
  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
  Class | Description
  --- | ---
  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
  Exception | Description
  --- | ---
  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

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, 2014, Oracle and/or its affiliates. All rights reserved.