Class ORBInitInfoImpl

    • Constructor Detail

      • ORBInitInfoImpl

        ORBInitInfoImpl​(ORB orb,
                        java.lang.String[] args,
                        java.lang.String orbId,
                        CodecFactory codecFactory)
        Creates a new ORBInitInfoImpl object (scoped to package)
        Parameters:
        args - The arguments passed to ORB_init.
    • Method Detail

      • getORB

        public ORB getORB()
        Return the ORB behind this ORBInitInfo. This is defined in the ORBInitInfoExt interface.
        Specified by:
        getORB in interface ORBInitInfoExt
      • setStage

        void setStage​(int stage)
        Sets the current stage we are in. This limits access to certain functionality.
      • checkStage

        private void checkStage()
        Throws an exception if the current stage is STAGE_CLOSED. This is called before any method is invoked to ensure that no method invocations are attempted after all calls to post_init() are completed.
      • arguments

        public java.lang.String[] arguments()
        This attribute contains the arguments passed to ORB_init. They may or may not contain the ORB's arguments
        Specified by:
        arguments in interface ORBInitInfoOperations
        Returns:
        the arguments for ORB.init
      • orb_id

        public java.lang.String orb_id()
        This attribute is the ID of the ORB being initialized
        Specified by:
        orb_id in interface ORBInitInfoOperations
        Returns:
        the ID of the ORB
      • codec_factory

        public CodecFactory codec_factory()
        This attribute is 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 intialization.
        Specified by:
        codec_factory in interface ORBInitInfoOperations
        Returns:
        the IOP.CodeFactory
      • register_initial_reference

        public void register_initial_reference​(java.lang.String id,
                                               Object obj)
                                        throws InvalidName
        See orbos/99-12-02, Chapter 11, Dynamic Initial References on page 11-81. This operation is identical to ORB::register_initial_reference described there. 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.

        This method may not be called during post_init.

        Specified by:
        register_initial_reference in interface ORBInitInfoOperations
        Parameters:
        id - initial object id
        obj - initial object to register
        Throws:
        InvalidName - if the name is invalid
      • resolve_initial_references

        public Object resolve_initial_references​(java.lang.String id)
                                          throws InvalidName
        This operation is only valid during post_init. It is 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.

        (incorporates changes from errata in orbos/00-01-01)

        This method may not be called during pre_init.

        Specified by:
        resolve_initial_references in interface ORBInitInfoOperations
        Parameters:
        id - ID of the object
        Returns:
        initial references
        Throws:
        InvalidName - if the ID is not valid
      • add_client_request_interceptor

        public void add_client_request_interceptor​(ClientRequestInterceptor interceptor)
                                            throws DuplicateName
        This operation is used to add a client-side request Interceptor to the list of client-side request Interceptors.

        If a client-side request Interceptor has already been registered with this Interceptor's name, DuplicateName is raised.

        Specified by:
        add_client_request_interceptor in interface ORBInitInfoOperations
        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

        public void add_server_request_interceptor​(ServerRequestInterceptor interceptor)
                                            throws DuplicateName
        This operation is used to add a server-side request Interceptor to the list of server-side request Interceptors.

        If a server-side request Interceptor has already been registered with this Interceptor's name, DuplicateName is raised.

        Specified by:
        add_server_request_interceptor in interface ORBInitInfoOperations
        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

        public void add_ior_interceptor​(IORInterceptor interceptor)
                                 throws DuplicateName
        This operation is used to add an IOR Interceptor to the list of IOR Interceptors.

        If an IOR Interceptor has already been registered with this Interceptor's name, DuplicateName is raised.

        Specified by:
        add_ior_interceptor in interface ORBInitInfoOperations
        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

        public int allocate_slot_id()
        A service calls allocate_slot_id to allocate a slot on PortableInterceptor::Current.
        Specified by:
        allocate_slot_id in interface ORBInitInfoOperations
        Returns:
        The index to the slot which has been allocated.
        See Also:
        Current
      • register_policy_factory

        public void register_policy_factory​(int type,
                                            PolicyFactory policy_factory)
        Register a PolicyFactory for the given PolicyType.

        If a PolicyFactory already exists for the given PolicyType, BAD_INV_ORDER is raised with a minor code of TBD_BIO+2.

        Specified by:
        register_policy_factory in interface ORBInitInfoOperations
        Parameters:
        type - The policy type that the given PolicyFactory serves.
        policy_factory - The factory for the given policy type.
      • nullParam

        private void nullParam()
                        throws BAD_PARAM
        Called when an invalid null parameter was passed. Throws a BAD_PARAM with a minor code of 1
        Throws:
        BAD_PARAM