|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Request Information, accessible to server-side request interceptors.
Some attributes and operations on ServerRequestInfo
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.
receive_request_ service_contexts |
receive_request | send_reply | send_exception | send_other | |
Inherited from RequestInfo: | |||||
request_id | yes | yes | yes | yes | yes |
operation | yes | yes | yes | yes | yes |
arguments | no | yes1 | yes | no2 | no2 |
exceptions | no | yes | yes | yes | yes |
contexts | no | yes | yes | yes | yes |
operation_context | no | yes | yes | no | no |
result | no | no | yes | no | no |
response_expected | yes | yes | yes | yes | yes |
sync_scope | yes | yes | 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 |
ServerRequestInfo-specific: | |||||
sending_exception | no | no | no | yes | no |
object_id | no | yes | yes | yes3 | yes3 |
adapter_id | no | yes | yes | yes3 | yes3 |
target_most_derived_interface | no | yes | no4 | no4 | no4 |
get_server_policy | yes | yes | yes | yes | yes |
set_slot | yes | yes | yes | yes | yes |
target_is_a | no | yes | no4 | no4 | no4 |
add_reply_service_context | yes | yes | yes | yes | yes |
ServerRequestInfo
is passed to
receive_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.reply_status
attribute is not
LOCATION_FORWARD
, accessing this attribute will throw
BAD_INV_ORDER
with a standard minor code of 14.NO_RESOURCES
with a standard minor
code of 1 will be thrown if it is not available.ServantLocator
, then the ORB invokes the interception
point after it calls ServantLocator.postinvoke()
ServerRequestInterceptor
Method Summary | |
byte[] |
adapter_id()
Returns the opaque identifier for the object adapter. |
void |
add_reply_service_context(ServiceContext service_context,
boolean replace)
Allows Interceptors to add service contexts to the request. |
Policy |
get_server_policy(int type)
Returns the policy in effect for this operation for the given policy type. |
byte[] |
object_id()
Returns the opaque object_id describing the target of
the operation invocation. |
Any |
sending_exception()
Returns an any which contains the exception to be returned to the client. |
void |
set_slot(int id,
Any data)
Allows an Interceptor to set a slot in the PortableInterceptor.Current that is in the scope of
the request. |
boolean |
target_is_a(String id)
Returns true if the servant is the given repository id, false if it is not. |
String |
target_most_derived_interface()
Returns the repository id for the most derived interface of the servant. |
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 |
public Any sending_exception()
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.
PortableInterceptor
package comments for
limitations / unimplemented featurespublic byte[] object_id()
object_id
describing the target of
the operation invocation.
public byte[] adapter_id()
public String target_most_derived_interface()
public Policy get_server_policy(int type)
CORBA.Policy
object shall
only be a policy whose type was registered via
register_policy_factory
.
type
- The CORBA.PolicyType
which specifies the
policy to be returned.
CORBA.Policy
obtained with the given
policy type.
INV_POLICY
- thrown, with a standard minor code of 2, if
a policy for the given type was not registered via
register_policy_factory
.ORBInitInfoOperations.register_policy_factory(int, org.omg.PortableInterceptor.PolicyFactory)
public void set_slot(int id, Any data) throws InvalidSlot
PortableInterceptor.Current
that is in the scope of
the request. If data already exists in that slot, it will be
overwritten.
id
- The id of the slot.data
- The data, in the form of an any, to store in that slot.
InvalidSlot
- thrown if the ID does not define an allocated
slot.Current
public boolean target_is_a(String id)
id
- The caller wants to know if the servant is this
repository id.
public void add_reply_service_context(ServiceContext service_context, boolean replace)
There is no declaration of the order of the service contexts. They may or may not appear in the order that they are added.
service_context
- The IOP.ServiceContext
to add to
the reply.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.
BAD_INV_ORDER
- thrown, with a standard minor code of 15, if
replace is false and a service context already exists with the
given ID.
|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.