FileDocCategorySizeDatePackage
ORBInitInfoOperations.javaAPI DocJava SE 6 API5871Tue Jun 10 01:33:22 BST 2008org.omg.PortableInterceptor

ORBInitInfoOperations

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
ORBInitializer

Fields Summary
Constructors Summary
Methods Summary
public voidadd_client_request_interceptor(org.omg.PortableInterceptor.ClientRequestInterceptor interceptor)
Used to add a client-side request Interceptor to the list of client-side request Interceptors.

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

public voidadd_ior_interceptor(org.omg.PortableInterceptor.IORInterceptor interceptor)
Used to add an IOR Interceptor to the list of IOR Interceptors.

param
interceptor The IORInterceptor to be added.
exception
DuplicateName thrown if an IOR Interceptor has already been registered with this Interceptor's name.

public voidadd_server_request_interceptor(org.omg.PortableInterceptor.ServerRequestInterceptor interceptor)
Used to add a server-side request Interceptor to the list of server-side request Interceptors.

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

public intallocate_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.

return
The index to the slot which has been allocated.
exception
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
Current

public java.lang.String[]arguments()
Returns the arguments passed to ORB.init. They may or may not contain the ORB's arguments.

public org.omg.IOP.CodecFactorycodec_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.

public java.lang.Stringorb_id()
Returns the ID of the ORB being initialized.

public voidregister_initial_reference(java.lang.String id, org.omg.CORBA.Object obj)
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.

public voidregister_policy_factory(int type, org.omg.PortableInterceptor.PolicyFactory policy_factory)
Registers a PolicyFactory for the given PolicyType.

param
type The policy type that the given PolicyFactory serves.
param
policy_factory The factory for the given policy type.
exception
BAD_INV_ORDER thrown, with a standard minor code of 16, if a PolicyFactory already exists for the given PolicyType.

public org.omg.CORBA.Objectresolve_initial_references(java.lang.String id)
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.