org.omg.PortableInterceptor.ORBInitInfoOperations Maven / Gradle / Ivy
Show all versions of openjdk-orb Show documentation
package org.omg.PortableInterceptor;
/**
* org/omg/PortableInterceptor/ORBInitInfoOperations.java .
* Generated by the IDL-to-Java compiler (portable), version "3.2"
* from /home/tomek/workspace/openjdk-orb/src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
* Wednesday, February 1, 2023 4:15:31 PM CET
*/
/**
* 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
*/
public interface ORBInitInfoOperations
{
/**
* Returns the arguments passed to ORB.init
. They may or
* may not contain the ORB's arguments.
*/
String[] arguments ();
/**
* Returns the ID of the ORB being initialized.
*/
String orb_id ();
/**
* 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.
*/
org.omg.IOP.CodecFactory codec_factory ();
/**
* 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.
*/
void register_initial_reference (String id, org.omg.CORBA.Object obj) throws org.omg.PortableInterceptor.ORBInitInfoPackage.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.
*/
org.omg.CORBA.Object resolve_initial_references (String id) throws org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName;
/**
* 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.
*/
void add_client_request_interceptor (org.omg.PortableInterceptor.ClientRequestInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
/**
* 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
*/
void add_server_request_interceptor (org.omg.PortableInterceptor.ServerRequestInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
/**
* 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.
*/
void add_ior_interceptor (org.omg.PortableInterceptor.IORInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
/**
* 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
*/
int allocate_slot_id ();
/**
* 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
.
*/
void register_policy_factory (int type, org.omg.PortableInterceptor.PolicyFactory policy_factory);
} // interface ORBInitInfoOperations