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

Methods

Modifier and Type Method and Description
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.

Methods

arguments

String[] arguments()

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

orb_id

String orb_id()

Returns the ID of the ORB being initialized.

codec_factory

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

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

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

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

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

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

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

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.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/org/omg/PortableInterceptor/ORBInitInfoOperations.html