VisiBroker for Java

org.omg.PortableInterceptor
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.

send_request send_poll receive_reply receive_exception receive_other
request_id yes yes yes yes yes
operation yes yes yes yes yes
arguments yes1 no yes no no
exception 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
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() does not return LOCATION_FORWARD, accessing this attribute will raise BAD_INV_ORDER with a standard minor code of 14.


Method Summary
 void add_request_service_context(ServiceContext service_context, boolean replace)
          This method allows interceptors to add service contexts to the request.
 TaggedProfile effective_profile()
          Represents a supported protocol and encapsulates all the basic information the protocol needs to identify an object.
 Object effective_target()
          This method returns the actual object on which the operation will be invoked.
 TaggedComponent get_effective_component(int id)
          This methods returns the org.omg.IOP.TaggedComponent with the given ID from the profile selected for this request.
 TaggedComponent[] get_effective_components(int id)
          This method returns all the tagged components with the given ID from the profile selected for this request.
 Policy get_request_policy(int type)
          This method returns the given policy in effect for this operation.
 java.lang.String received_exception_id()
          This method returns the data, in the form of CORBA::Any, that contains the exception to be returned to the client.
 Any received_exception()
          This method returns the profile, in the form of org.omg.IOP.TaggedProfile, that will be used to send the request.
 Object target()
          This method returns the object which the client called to perform the operation.
 
Methods inherited from interface org.omg.PortableInterceptor.RequestInfoOperations
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scope
 

Method Detail

add_request_service_context

void add_request_service_context(ServiceContext service_context,
                                 boolean replace)
This method 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 method when a service context already exists with the given ID. If false, then BAD_INV_ORDER with a standard minor code of 15 is raised. If true, then the existing service context is replaced by the new one.

get_effective_components

TaggedComponent[] get_effective_components(int id)
This method returns all the tagged components with the given ID from the profile selected for this request. This sequence is in the form of an array of org.omg.IOP.TaggedComponent. If no component exists for the given component ID, this operation will raise BAD_PARAM with a standard minor code of 28.

Parameters:
id - The ID of the components which are to be returned.
Returns:
All the tagged components with the given ID from the profile selected for this request. This sequence is in the form of an array of org.omg.IOP.TaggedComponent.

get_effective_component

TaggedComponent get_effective_component(int id)
This methods returns the org.omg.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() will be called instead. If no component exists for the given component ID, this operation will raise BAD_PARAM with a standard minor code of 28.

Parameters:
id - The ID of the component which is to be returned.
Returns:
org.omg.IOP.TaggedComponent with the given ID from the profile selected for this request.

effective_profile

TaggedProfile effective_profile()
Represents a supported protocol and encapsulates all the basic information the protocol needs to identify an object.


get_request_policy

Policy get_request_policy(int type)
This method returns the given policy in effect for this operation. 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, INV_POLICY with a standard minor code of 2 is raised.


received_exception_id

java.lang.String received_exception_id()
This method returns the data, in the form of CORBA::Any, that contains the exception to be returned to the client. If the exception is a user exception which cannot be inserted into a CORBA::Any (e.g., it is unknown or the bindings don't provide the TypeCode), then this attribute will be a CORBA::Any containing the system exception UNKNOWN with a standard minor code of 1. However, the RepositoryId of the exception is available in the received_exception_id attribute.


received_exception

Any received_exception()
This method returns the profile, in the form of org.omg.IOP.TaggedProfile, 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.


effective_target

Object effective_target()
This method returns the actual object on which the operation will be invoked. If the reply_status() returns LOCATION_FORWARD, then on subsequent requests, effective_target will contain the forwarded IOR while target will remain unchanged.


target

Object target()
This method returns the object which the client called to perform the operation.


Borland Software Corporation
http://www.borland.com
100 Enterprise Way
Scotts Valley, CA 95066
Voice: (831) 431-1000
pubsweb@borland.com

Read the latest documentation online