package org.omg.PortableInterceptor; /** * org/omg/PortableInterceptor/ORBInitInfoOperations.java . * Generated by the IDL-to-Java compiler (portable), version "3.2" * from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl * Wednesday, June 14, 2006 5:09:58 AM GMT */ /** * 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