Module java.corba

Interface ClientRequestInfoOperations

  • All Superinterfaces:
    RequestInfoOperations
    All Known Subinterfaces:
    ClientRequestInfo


    public interface ClientRequestInfoOperations
    extends RequestInfoOperations
    Request Information, accessible to client-side request interceptors.

    Some attributes and operations on ClientRequestInfo are not valid at all interception points. The following table shows the validity of each attribute or operation. If it is not valid, attempting to access it will result in a BAD_INV_ORDER being thrown with a standard minor code of 14.

    Shows the validity of each attribute or operation
      send_request send_poll receive_reply receive_exception receive_other
    Inherited from RequestInfo:

    request_id

    yes yes yes yes yes

    operation

    yes yes yes yes yes

    arguments

    yes1 no yes no no

    exceptions

    yes no yes yes yes

    contexts

    yes no yes yes yes

    operation_context

    yes no yes yes yes

    result

    no no yes no no

    response_expected

    yes yes yes yes yes

    sync_scope

    yes no yes yes yes

    reply_status

    no no yes yes yes

    forward_reference

    no no no no yes2

    get_slot

    yes yes yes yes yes

    get_request_service_context

    yes no yes yes yes

    get_reply_service_context

    no no yes yes yes
    ClientRequestInfo-specific:

    target

    yes yes yes yes yes

    effective_target

    yes yes yes yes yes

    effective_profile

    yes yes yes yes yes

    received_exception

    no no no yes no

    received_exception_id

    no no no yes no

    get_effective_component

    yes no yes yes yes

    get_effective_components

    yes no yes yes yes

    get_request_policy

    yes no yes yes yes

    add_request_service_context

    yes no no no no
    1. When ClientRequestInfo is passed to send_request, there is an entry in the list for every argument, whether in, inout, or out. But only the in and inout arguments will be available.
    2. If the reply_status atribute is not LOCATION_FORWARD, accessing this attribute will throw BAD_INV_ORDER with a standard minor code of 14.
    See Also:
    ClientRequestInterceptor
    • Method Detail

      • target

        Object target​()
        Returns the object which the client called to perform the operation.
        See Also:
        effective_target()
      • effective_target

        Object effective_target​()
        Returns the actual object on which the operation will be invoked. If the reply_status is LOCATION_FORWARD, then on subsequent requests, effective_target will contain the forwarded IOR while target will remain unchanged.
        See Also:
        target()
      • effective_profile

        TaggedProfile effective_profile​()
        Returns the profile that will be used to send the request. If a location forward has occurred for this operation's object and that object's profile changed accordingly, then this profile will be that located profile.
      • received_exception

        Any received_exception​()
        Returns an any which contains the exception to be returned to the client.

        If the exception is a user exception which cannot be inserted into an any (e.g., it is unknown or the bindings don t provide the TypeCode), then this attribute will be an any containing the system exception UNKNOWN with a standard minor code of 1. However, the repository id of the exception is available in the received_exception_id attribute.

        See Also:
        received_exception_id()
      • get_effective_component

        TaggedComponent get_effective_component​(int id)
        Returns the IOP.TaggedComponent with the given ID from the profile selected for this request.

        If there is more than one component for a given component ID, it is undefined which component this operation returns. If there is more than one component for a given component ID, get_effective_components should be called instead.

        Parameters:
        id - The component id of the component which is to be returned.
        Returns:
        The IOP.TaggedComponent obtained with the given identifier.
        Throws:
        BAD_PARAM - thrown, with a standard minor code of 28, if no component exists for the given component ID.
        See Also:
        get_effective_components(int)
      • get_effective_components

        TaggedComponent[] get_effective_components​(int id)
        Returns an array of all tagged components with the given ID from the profile selected for this request.
        Parameters:
        id - The component id of the components which are to be returned.
        Returns:
        An array of TaggedComponent objects, each of which contains the given identifier.
        Throws:
        BAD_PARAM - thrown, with a standard minor code of 28, if no component exists for the given component ID.
        See Also:
        get_effective_component(int)
      • get_request_policy

        Policy get_request_policy​(int type)
        Returns the given policy in effect for this operation.
        Parameters:
        type - The policy type which specifies the policy to be returned.
        Returns:
        The CORBA.Policy obtained with the given type.
        Throws:
        INV_POLICY - thrown, with a standard minor code of 1, if the policy type is not valid either because the specified type is not supported by this ORB or because a policy object of that type is not associated with this Object
        See Also:
        PortableInterceptor package comments for limitations / unimplemented features
      • add_request_service_context

        void add_request_service_context​(ServiceContext service_context,
                                         boolean replace)
        Allows Interceptors to add service contexts to the request.

        There is no declaration of the order of the service contexts. They may or may not appear in the order that they are added.

        Parameters:
        service_context - The IOP.ServiceContext to be added to the request.
        replace - Indicates the behavior of this operation when a service context already exists with the given ID. If false, then BAD_INV_ORDER with a standard minor code of 15 is thrown. If true, then the existing service context is replaced by the new one.