public interface ORBInitInfoOperations
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.
ORBInitializer
| Modifier and Type | Method and Description |
|---|---|
void |
add_client_request_interceptor(ClientRequestInterceptor
Used to add a client-side request Interceptor to the list of client-side request Interceptors.
|
void |
add_ior_interceptor(IORInterceptor
Used to add an IOR Interceptor to the list of IOR Interceptors.
|
void |
add_server_request_interceptor(ServerRequestInterceptor
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
Identical to
ORB.register_initial_reference.
|
void |
register_policy_factory(int type, PolicyFactory
Registers a
PolicyFactory for the given
PolicyType.
|
Object |
resolve_initial_references(String
Identical to
ORB.resolve_initial_references.
|
String[] arguments()
ORB.init. They may or may not contain the ORB's arguments.
Stringorb_id()
CodecFactorycodec_factory()
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.
void register_initial_reference(Stringid, Object obj) throws InvalidName
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.
InvalidName
Objectresolve_initial_references(String id) throws InvalidName
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.
InvalidName
void add_client_request_interceptor(ClientRequestInterceptorinterceptor) throws DuplicateName
interceptor - The
ClientRequestInterceptor to be added.
DuplicateName - thrown if a client-side request Interceptor has already been registered with this Interceptor's name.
void add_server_request_interceptor(ServerRequestInterceptorinterceptor) throws DuplicateName
interceptor - The ServerRequestInterceptor to be added.
DuplicateName - thrown if a server-side request Interceptor has already been registered with this Interceptor's name
void add_ior_interceptor(IORInterceptorinterceptor) throws DuplicateName
interceptor - The IORInterceptor to be added.
DuplicateName - thrown if an IOR Interceptor has already been registered with this Interceptor's name.
int allocate_slot_id()
PortableInterceptor.Current.
Note that while slot id's can be allocated within an ORB initializer, the slots themselves cannot be initialized.
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.
Current
void register_policy_factory(int type,
PolicyFactory policy_factory)
PolicyFactory for the given
PolicyType.
type - The policy type that the given
PolicyFactory serves.
policy_factory - The factory for the given policy type.
BAD_INV_ORDER - thrown, with a standard minor code of 16, if a
PolicyFactory already exists for the given
PolicyType.