Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.omg.PortableInterceptor
Interface ORBInitInfoOperations

All Known Subinterfaces:
  ORBInitInfo

public interface ORBInitInfoOperations

Passed to each `ORBInitializer`, allowing it to to register interceptors and perform other duties while the ORB is initializing.

The `ORBInitInfo` object is only valid during `ORB.init`. If a service keeps a reference to its `ORBInitInfo` object and tries to use it after `ORB.init` returns, the object no longer exists and an `OBJECT_NOT_EXIST` exception shall be thrown.

See Also:
  `ORBInitializer`

Method Summary
`void` | `add_client_request_interceptor(ClientRequestInterceptor interceptor)` Used to add a client-side request Interceptor to the list of client-side request Interceptors.
`void` | `add_ior_interceptor(IORInterceptor interceptor)` Used to add an IOR Interceptor to the list of IOR Interceptors.
`void` | `add_server_request_interceptor(ServerRequestInterceptor interceptor)` Used to add a server-side request Interceptor to the list of server-side request Interceptors.
`int` | `allocate_slot_id()` Called to allocate a slot on `PortableInterceptor.Current`.
`String[]` | `arguments()` Returns the arguments passed to `ORB.init`.
`CodecFactory` | `codec_factory()` Returns the `IOP.CodecFactory`.
`String` | `orb_id()` Returns the ID of the ORB being initialized.
`void` | `register_initial_reference(String id, Object obj)` Identical to `ORB.register_initial_reference`.
`void` | `register_policy_factory(int type, PolicyFactory policy_factory)` Registers a `PolicyFactory` for the given `PolicyType`.
`Object` | `resolve_initial_references(String id)` Identical to `ORB.resolve_initial_references`.

Method Detail

### arguments

    public String[] arguments()

  Returns the arguments passed to `ORB.init`. They may or may not contain the ORB's arguments.

### orb_id

    public String orb_id()

  Returns the ID of the ORB being initialized.

### codec_factory

    public CodecFactory codec_factory()

  Returns the `IOP.CodecFactory`. The `CodecFactory` is normally obtained via a call to `ORB.resolve_initial_references( "CodecFactory" )`, but since the ORB is not yet available and Interceptors, particularly when processing service contexts, will require a `Codec`, a means of obtaining a `Codec` is necessary during ORB initialization.

### register_initial_reference

    public void register_initial_reference(String id,
                                           Object obj)
                                    throws InvalidName

  Identical to `ORB.register_initial_reference`. This same functionality exists here because the ORB, not yet fully initialized, is not yet available but initial references may need to be registered as part of Interceptor registration. The only difference is that the version of this operation on the ORB uses PIDL (`CORBA.ORB.ObjectId`) and (`CORBA.ORB.InvalidName`) whereas the version in this interface uses IDL defined in this interface; the semantics are identical.

  Throws:
    `InvalidName`

### resolve_initial_references

    public Object resolve_initial_references(String id)
                                      throws InvalidName

  Identical to `ORB.resolve_initial_references`. This same functionality exists here because the ORB, not yet fully initialized, is not yet available but initial references may be required from the ORB as part of Interceptor registration. The only difference is that the version of this operation on the ORB uses PIDL (`CORBA::ORB::ObjectId` and `CORBA::ORB::InvalidName`) whereas the version in this interface uses IDL defined in this interface; the semantics are identical.

  This operation is only valid during post_init.

  Throws:
    `InvalidName`

### add_client_request_interceptor

    public void add_client_request_interceptor(ClientRequestInterceptor interceptor)
                                        throws DuplicateName

  Used to add a client-side request Interceptor to the list of client-side request Interceptors.

  Parameters:
    `interceptor` - The `ClientRequestInterceptor` to be added.
  Throws:
    `DuplicateName` - thrown if a client-side request Interceptor has already been registered with this Interceptor's name.

### add_server_request_interceptor

    public void add_server_request_interceptor(ServerRequestInterceptor interceptor)
                                        throws DuplicateName

  Used to add a server-side request Interceptor to the list of server-side request Interceptors.

  Parameters:
    `interceptor` - The ServerRequestInterceptor to be added.
  Throws:
    `DuplicateName` - thrown if a server-side request Interceptor has already been registered with this Interceptor's name

### add_ior_interceptor

    public void add_ior_interceptor(IORInterceptor interceptor)
                             throws DuplicateName

  Used to add an IOR Interceptor to the list of IOR Interceptors.

  Parameters:
    `interceptor` - The IORInterceptor to be added.
  Throws:
    `DuplicateName` - thrown if an IOR Interceptor has already been registered with this Interceptor's name.

### allocate_slot_id

    public int allocate_slot_id()

  Called to allocate a slot on `PortableInterceptor.Current`.

  Note that while slot id's can be allocated within an ORB initializer, the slots themselves cannot be initialized.

  Returns:
    The index to the slot which has been allocated.
  Throws:
    `BAD_INV_ORDER` - thrown, with a standard minor code of 14, if `set_slot` or `get_slot` is called on the `PICurrent` within an ORB initializer.
  See Also:
    `Current`

### register_policy_factory

    public void register_policy_factory(int type,
                                        PolicyFactory policy_factory)

  Registers a `PolicyFactory` for the given `PolicyType`.

  Parameters:
    `type` - The policy type that the given `PolicyFactory` serves.
    `policy_factory` - The factory for the given policy type.
  Throws:
    `BAD_INV_ORDER` - thrown, with a standard minor code of 16, if a `PolicyFactory` already exists for the given `PolicyType`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.