Class ServerRequestInfoImpl
java.lang.Object
org.omg.CORBA.LocalObject
com.sun.corba.ee.impl.interceptors.RequestInfoImpl
com.sun.corba.ee.impl.interceptors.ServerRequestInfoImpl
- All Implemented Interfaces:
RequestInfoExt
,ServerRequestInfoExt
,Serializable
,Object
,IDLEntity
,RequestInfo
,RequestInfoOperations
,ServerRequestInfo
,ServerRequestInfoOperations
public final class ServerRequestInfoImpl
extends RequestInfoImpl
implements ServerRequestInfo, ServerRequestInfoExt
Implementation of the ServerRequestInfo interface as specified in
orbos/99-12-02 section 5.4.3.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate byte[]
private String[]
private Parameter[]
private HashMap
<Integer, ServiceContext> private HashMap
<Integer, ServiceContext> private Any
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
private NVList
private Any
private Any
private boolean
private boolean
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private ObjectAdapter
private byte[]
private ObjectKeyTemplate
private ReplyMessage
private MessageMediator
private Object
private int
private String
private static final boolean[][]
Fields inherited from class com.sun.corba.ee.impl.interceptors.RequestInfoImpl
connection, currentExecutionPoint, endingPointCall, exception, EXECUTION_POINT_ENDING, EXECUTION_POINT_INTERMEDIATE, EXECUTION_POINT_STARTING, interceptorsEnabledForThisRequest, intermediatePointCall, MID_ARGUMENTS, MID_CONTEXTS, MID_EXCEPTIONS, MID_FORWARD_REFERENCE, MID_GET_REPLY_SERVICE_CONTEXT, MID_GET_REQUEST_SERVICE_CONTEXT, MID_GET_SLOT, MID_OPERATION, MID_OPERATION_CONTEXT, MID_REPLY_STATUS, MID_REQUEST_ID, MID_RESPONSE_EXPECTED, MID_RESULT, MID_RI_LAST, MID_SYNC_SCOPE, myORB, replyStatus, slotTable, startingPointCall, stdWrapper, UNINITIALIZED, wrapper
-
Constructor Summary
ConstructorsConstructorDescriptionServerRequestInfoImpl
(ORB myORB) Creates a new ServerRequestInfo implementation. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
The opaque identifier for the object adapter.String[]
Returns the sequence of strings that identifies the object adapter instance that is handling this request.void
add_reply_service_context
(ServiceContext service_context, boolean replace) Allows Interceptors to add service contexts to the request.See ServerRequestInfo for javadocs.protected void
checkAccess
(int methodID) See description for RequestInfoImpl.checkAccessprivate void
String[]
contexts()
See ServerRequestInfo for javadocs.private void
TypeCode[]
See ServerRequestInfo for javadocs.See ServerRequestInfo for javadocs.get_reply_service_context
(int id) See ServerRequestInfo for javadocs.get_request_service_context
(int id) See ServerRequestInfo for javadocs.get_server_policy
(int type) Returns the policy in effect for this operation for the given policy type.(package private) boolean
Returns true if this is a dynamic invocation, or false if not(package private) boolean
Returns true if ForwardRequest was raised by a server ending point or false otherwise.boolean
byte[]
The opaque object_id describing the target of the operation invocation.See ServerRequestInfo for javadocs.String[]
See ServerRequestInfo for javadocs.orb_id()
Returns the ID that was used to create the ORB.(package private) void
Release the servant object so the user has control over its lifetime.int
See ServerRequestInfo for javadocs.(package private) void
reset()
Reset the info object so that it can be reused for a retry, for example.boolean
See ServerRequestInfo for javadocs.result()
See ServerRequestInfo for javadocs.Any containing the exception to be returned to the client.Returns the server ID that was specified on ORB::init using the -ORBServerId argument.void
Allows an Interceptor to set a slot in the Current that is in the scope of the request.protected void
setCurrentExecutionPoint
(int executionPoint) Overridden from RequestInfoImpl.protected void
setDSIArguments
(NVList arguments) Stores the various sources of information used for this info object.protected void
setDSIException
(Any exception) Stores the various sources of information used for this info object.protected void
setDSIResult
(Any result) Stores the various sources of information used for this info object.protected void
setException
(Exception exception) Sets the exception to be returned by received_exception and received_exception_id.(package private) void
Sets the forwardRequestRaisedInEnding flag to true, indicating that a server ending point has raised location forward at some point.protected void
setInfo
(MessageMediator request, ObjectAdapter oa, byte[] objectId, ObjectKeyTemplate oktemp) Stores the various sources of information used for this info object.protected void
Stores the various sources of information used for this info object.(package private) void
setReplyMessage
(ReplyMessage replyMessage) Set reply messageprotected void
setReplyStatus
(short replyStatus) Overridden from RequestInfoImpl.boolean
target_is_a
(String id) Returns true if the servant is the given RepositoryId, false if it is not.The RepositoryID for the most derived interface of the servant.toString()
Methods inherited from class com.sun.corba.ee.impl.interceptors.RequestInfoImpl
_orb, addServiceContext, connection, exceptionToAny, get_slot, getAlreadyExecuted, getEndingPointCall, getException, getFlowStackIndex, getForwardRequestException, getForwardRequestIOR, getIntermediatePointCall, getReplyStatus, getServiceContext, getStartingPointCall, iorToObject, nvListToParameterArray, reply_status, setAlreadyExecuted, setEndingPointCall, setFlowStackIndex, setForwardRequest, setForwardRequest, setIntermediatePointCall, setSlotTable, setStartingPointCall, sync_scope
Methods inherited from class org.omg.CORBA.LocalObject
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_policy_override, validate_connection
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.omg.CORBA.Object
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
Methods inherited from interface org.omg.PortableInterceptor.RequestInfoOperations
get_slot, reply_status, sync_scope
-
Field Details
-
CALL_RECEIVE_REQUEST_SERVICE_CONTEXT
static final int CALL_RECEIVE_REQUEST_SERVICE_CONTEXT- See Also:
-
CALL_RECEIVE_REQUEST
static final int CALL_RECEIVE_REQUEST- See Also:
-
CALL_INTERMEDIATE_NONE
static final int CALL_INTERMEDIATE_NONE- See Also:
-
CALL_SEND_REPLY
static final int CALL_SEND_REPLY- See Also:
-
CALL_SEND_EXCEPTION
static final int CALL_SEND_EXCEPTION- See Also:
-
CALL_SEND_OTHER
static final int CALL_SEND_OTHER- See Also:
-
forwardRequestRaisedInEnding
private boolean forwardRequestRaisedInEnding -
request
-
servant
-
objectId
private byte[] objectId -
oktemp
-
adapterId
private byte[] adapterId -
adapterName
-
addReplyServiceContextQueue
-
replyMessage
-
targetMostDerivedInterface
-
dsiArguments
-
dsiResult
-
dsiException
-
isDynamic
private boolean isDynamic -
objectAdapter
-
serverRequestId
private int serverRequestId -
cachedArguments
-
cachedSendingException
-
cachedRequestServiceContexts
-
cachedReplyServiceContexts
-
MID_SENDING_EXCEPTION
private static final int MID_SENDING_EXCEPTION- See Also:
-
MID_OBJECT_ID
private static final int MID_OBJECT_ID- See Also:
-
MID_ADAPTER_ID
private static final int MID_ADAPTER_ID- See Also:
-
MID_TARGET_MOST_DERIVED_INTERFACE
private static final int MID_TARGET_MOST_DERIVED_INTERFACE- See Also:
-
MID_GET_SERVER_POLICY
private static final int MID_GET_SERVER_POLICY- See Also:
-
MID_SET_SLOT
private static final int MID_SET_SLOT- See Also:
-
MID_TARGET_IS_A
private static final int MID_TARGET_IS_A- See Also:
-
MID_ADD_REPLY_SERVICE_CONTEXT
private static final int MID_ADD_REPLY_SERVICE_CONTEXT- See Also:
-
MID_SERVER_ID
private static final int MID_SERVER_ID- See Also:
-
MID_ORB_ID
private static final int MID_ORB_ID- See Also:
-
MID_ADAPTER_NAME
private static final int MID_ADAPTER_NAME- See Also:
-
validCall
private static final boolean[][] validCall
-
-
Constructor Details
-
ServerRequestInfoImpl
ServerRequestInfoImpl(ORB myORB) Creates a new ServerRequestInfo implementation. The constructor is package scope since no other package need create an instance of this class.
-
-
Method Details
-
reset
void reset()Reset the info object so that it can be reused for a retry, for example.- Overrides:
reset
in classRequestInfoImpl
-
sending_exception
Any containing the exception to be returned to the client.- Specified by:
sending_exception
in interfaceServerRequestInfoOperations
- Returns:
- Any containing an Exception
- See Also:
-
object_id
public byte[] object_id()The opaque object_id describing the target of the operation invocation.- Specified by:
object_id
in interfaceServerRequestInfoOperations
- Returns:
- the object ID
-
checkForNullTemplate
private void checkForNullTemplate() -
server_id
Description copied from interface:ServerRequestInfoOperations
Returns the server ID that was specified on ORB::init using the -ORBServerId argument.- Specified by:
server_id
in interfaceServerRequestInfoOperations
- Returns:
- the server ID
-
orb_id
Description copied from interface:ServerRequestInfoOperations
Returns the ID that was used to create the ORB.- Specified by:
orb_id
in interfaceServerRequestInfoOperations
- Returns:
- the ORB ID
-
adapter_name
Description copied from interface:ServerRequestInfoOperations
Returns the sequence of strings that identifies the object adapter instance that is handling this request.- Specified by:
adapter_name
in interfaceServerRequestInfoOperations
- Returns:
- the sequence of strings
-
adapter_id
public byte[] adapter_id()The opaque identifier for the object adapter.- Specified by:
adapter_id
in interfaceServerRequestInfoOperations
- Returns:
- the adapter ID
-
target_most_derived_interface
The RepositoryID for the most derived interface of the servant.- Specified by:
target_most_derived_interface
in interfaceServerRequestInfoOperations
- Returns:
- the repository ID
-
get_server_policy
Returns the policy in effect for this operation for the given policy type.- Specified by:
get_server_policy
in interfaceServerRequestInfoOperations
- Parameters:
type
- TheCORBA.PolicyType
which specifies the policy to be returned.- Returns:
- The
CORBA.Policy
obtained with the given policy type. - See Also:
-
set_slot
Allows an Interceptor to set a slot in the Current that is in the scope of the request. If data already exists in that slot, it will be overwritten. If the ID does not define an allocated slot, InvalidSlot is raised.- Specified by:
set_slot
in interfaceServerRequestInfoOperations
- Parameters:
id
- The id of the slot.data
- The data, in the form of an any, to store in that slot.- Throws:
InvalidSlot
- thrown if the ID does not define an allocated slot.- See Also:
-
target_is_a
Returns true if the servant is the given RepositoryId, false if it is not.- Specified by:
target_is_a
in interfaceServerRequestInfoOperations
- Parameters:
id
- The caller wants to know if the servant is this repository id.- Returns:
- Is the servant the given RepositoryId?
-
add_reply_service_context
Allows Interceptors to add service contexts to the request.- Specified by:
add_reply_service_context
in interfaceServerRequestInfoOperations
- Parameters:
service_context
- TheIOP.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, thenBAD_INV_ORDER
with a standard minor code of 15 is thrown. If true, then the existing service context is replaced by the new one.
-
request_id
public int request_id()See ServerRequestInfo for javadocs.- Specified by:
request_id
in interfaceRequestInfoOperations
- Specified by:
request_id
in classRequestInfoImpl
- Returns:
- unique request identifier
-
operation
See ServerRequestInfo for javadocs.- Specified by:
operation
in interfaceRequestInfoOperations
- Specified by:
operation
in classRequestInfoImpl
- Returns:
- The name of the operation being invoked.
-
toString
-
arguments
See ServerRequestInfo for javadocs.- Specified by:
arguments
in interfaceRequestInfoOperations
- Specified by:
arguments
in classRequestInfoImpl
- Returns:
- array of arguments
- See Also:
-
exceptions
See ServerRequestInfo for javadocs.- Specified by:
exceptions
in interfaceRequestInfoOperations
- Specified by:
exceptions
in classRequestInfoImpl
- Returns:
- array of raised exceptions
- See Also:
-
contexts
See ServerRequestInfo for javadocs.- Specified by:
contexts
in interfaceRequestInfoOperations
- Specified by:
contexts
in classRequestInfoImpl
- Returns:
- array of contexts
- See Also:
-
operation_context
See ServerRequestInfo for javadocs.- Specified by:
operation_context
in interfaceRequestInfoOperations
- Specified by:
operation_context
in classRequestInfoImpl
- Returns:
- array of operation contexts
- See Also:
-
result
See ServerRequestInfo for javadocs.- Specified by:
result
in interfaceRequestInfoOperations
- Specified by:
result
in classRequestInfoImpl
- Returns:
- the result from the invoked operation
- See Also:
-
response_expected
public boolean response_expected()See ServerRequestInfo for javadocs.- Specified by:
response_expected
in interfaceRequestInfoOperations
- Specified by:
response_expected
in classRequestInfoImpl
- Returns:
- if a response is expected
-
forward_reference
See ServerRequestInfo for javadocs.- Specified by:
forward_reference
in interfaceRequestInfoOperations
- Specified by:
forward_reference
in classRequestInfoImpl
- Returns:
- object to which attribute is forwarded.
-
get_request_service_context
See ServerRequestInfo for javadocs.- Specified by:
get_request_service_context
in interfaceRequestInfoOperations
- Specified by:
get_request_service_context
in classRequestInfoImpl
- Parameters:
id
- ID of the service context- Returns:
- A copy of the service context
-
get_reply_service_context
See ServerRequestInfo for javadocs.- Specified by:
get_reply_service_context
in interfaceRequestInfoOperations
- Specified by:
get_reply_service_context
in classRequestInfoImpl
- Parameters:
id
- ID of the service context- Returns:
- A copy of the Service Context
-
isNameService
public boolean isNameService()- Specified by:
isNameService
in interfaceServerRequestInfoExt
-
enqueue
-
setCurrentExecutionPoint
protected void setCurrentExecutionPoint(int executionPoint) Overridden from RequestInfoImpl. This version calls the super and then, if we are changing to ending points, executes all enqueued AddReplyServiceContextCommands.- Overrides:
setCurrentExecutionPoint
in classRequestInfoImpl
- Parameters:
executionPoint
- Current execution point
-
setInfo
protected void setInfo(MessageMediator request, ObjectAdapter oa, byte[] objectId, ObjectKeyTemplate oktemp) Stores the various sources of information used for this info object.- Parameters:
request
- Request holder, included the Connectionoa
- Object AdapterobjectId
- id of objectoktemp
- template for object
-
setDSIArguments
Stores the various sources of information used for this info object.- Parameters:
arguments
- Arguments for the operation
-
setDSIException
Stores the various sources of information used for this info object.- Parameters:
exception
-Any
holding exception that occurred during operation
-
setDSIResult
Stores the various sources of information used for this info object.- Parameters:
result
-Any
holding result of operation
-
setException
Description copied from class:RequestInfoImpl
Sets the exception to be returned by received_exception and received_exception_id.- Overrides:
setException
in classRequestInfoImpl
- Parameters:
exception
- exception to be returned
-
setInfo
Stores the various sources of information used for this info object.- Parameters:
servant
- Servant usedtargetMostDerivedInterface
- derived interface
-
setReplyMessage
Set reply message -
setReplyStatus
protected void setReplyStatus(short replyStatus) Overridden from RequestInfoImpl. Calls the super class, then sets the ending point call depending on the reply status.- Overrides:
setReplyStatus
in classRequestInfoImpl
- Parameters:
replyStatus
- The value of the reply status
-
releaseServant
void releaseServant()Release the servant object so the user has control over its lifetime. Called after receive_request is finished executing. -
setForwardRequestRaisedInEnding
void setForwardRequestRaisedInEnding()Sets the forwardRequestRaisedInEnding flag to true, indicating that a server ending point has raised location forward at some point. -
isForwardRequestRaisedInEnding
boolean isForwardRequestRaisedInEnding()Returns true if ForwardRequest was raised by a server ending point or false otherwise. -
isDynamic
boolean isDynamic()Returns true if this is a dynamic invocation, or false if not -
checkAccess
protected void checkAccess(int methodID) See description for RequestInfoImpl.checkAccess- Specified by:
checkAccess
in classRequestInfoImpl
- Parameters:
methodID
- The ID of this method, one of the MID_* constants. This allows us to easily look up the method access in a table. Note that method ids may overlap between subclasses.
-