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 intprivate NVListprivate Anyprivate Anyprivate booleanprivate booleanprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate ObjectAdapterprivate byte[]private ObjectKeyTemplateprivate ReplyMessageprivate MessageMediatorprivate Objectprivate intprivate Stringprivate 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.voidadd_reply_service_context(ServiceContext service_context, boolean replace) Allows Interceptors to add service contexts to the request.See ServerRequestInfo for javadocs.protected voidcheckAccess(int methodID) See description for RequestInfoImpl.checkAccessprivate voidString[]contexts()See ServerRequestInfo for javadocs.private voidTypeCode[]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) booleanReturns true if this is a dynamic invocation, or false if not(package private) booleanReturns true if ForwardRequest was raised by a server ending point or false otherwise.booleanbyte[]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) voidRelease the servant object so the user has control over its lifetime.intSee ServerRequestInfo for javadocs.(package private) voidreset()Reset the info object so that it can be reused for a retry, for example.booleanSee 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.voidAllows an Interceptor to set a slot in the Current that is in the scope of the request.protected voidsetCurrentExecutionPoint(int executionPoint) Overridden from RequestInfoImpl.protected voidsetDSIArguments(NVList arguments) Stores the various sources of information used for this info object.protected voidsetDSIException(Any exception) Stores the various sources of information used for this info object.protected voidsetDSIResult(Any result) Stores the various sources of information used for this info object.protected voidsetException(Exception exception) Sets the exception to be returned by received_exception and received_exception_id.(package private) voidSets the forwardRequestRaisedInEnding flag to true, indicating that a server ending point has raised location forward at some point.protected voidsetInfo(MessageMediator request, ObjectAdapter oa, byte[] objectId, ObjectKeyTemplate oktemp) Stores the various sources of information used for this info object.protected voidStores the various sources of information used for this info object.(package private) voidsetReplyMessage(ReplyMessage replyMessage) Set reply messageprotected voidsetReplyStatus(short replyStatus) Overridden from RequestInfoImpl.booleantarget_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_scopeMethods 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_connectionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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_overrideMethods 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:
resetin classRequestInfoImpl
-
sending_exception
Any containing the exception to be returned to the client.- Specified by:
sending_exceptionin 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_idin interfaceServerRequestInfoOperations- Returns:
- the object ID
-
checkForNullTemplate
private void checkForNullTemplate() -
server_id
Description copied from interface:ServerRequestInfoOperationsReturns the server ID that was specified on ORB::init using the -ORBServerId argument.- Specified by:
server_idin interfaceServerRequestInfoOperations- Returns:
- the server ID
-
orb_id
Description copied from interface:ServerRequestInfoOperationsReturns the ID that was used to create the ORB.- Specified by:
orb_idin interfaceServerRequestInfoOperations- Returns:
- the ORB ID
-
adapter_name
Description copied from interface:ServerRequestInfoOperationsReturns the sequence of strings that identifies the object adapter instance that is handling this request.- Specified by:
adapter_namein interfaceServerRequestInfoOperations- Returns:
- the sequence of strings
-
adapter_id
public byte[] adapter_id()The opaque identifier for the object adapter.- Specified by:
adapter_idin interfaceServerRequestInfoOperations- Returns:
- the adapter ID
-
target_most_derived_interface
The RepositoryID for the most derived interface of the servant.- Specified by:
target_most_derived_interfacein 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_policyin interfaceServerRequestInfoOperations- Parameters:
type- TheCORBA.PolicyTypewhich specifies the policy to be returned.- Returns:
- The
CORBA.Policyobtained 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_slotin 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_ain 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_contextin interfaceServerRequestInfoOperations- Parameters:
service_context- TheIOP.ServiceContextto 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_ORDERwith 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_idin interfaceRequestInfoOperations- Specified by:
request_idin classRequestInfoImpl- Returns:
- unique request identifier
-
operation
See ServerRequestInfo for javadocs.- Specified by:
operationin interfaceRequestInfoOperations- Specified by:
operationin classRequestInfoImpl- Returns:
- The name of the operation being invoked.
-
toString
-
arguments
See ServerRequestInfo for javadocs.- Specified by:
argumentsin interfaceRequestInfoOperations- Specified by:
argumentsin classRequestInfoImpl- Returns:
- array of arguments
- See Also:
-
exceptions
See ServerRequestInfo for javadocs.- Specified by:
exceptionsin interfaceRequestInfoOperations- Specified by:
exceptionsin classRequestInfoImpl- Returns:
- array of raised exceptions
- See Also:
-
contexts
See ServerRequestInfo for javadocs.- Specified by:
contextsin interfaceRequestInfoOperations- Specified by:
contextsin classRequestInfoImpl- Returns:
- array of contexts
- See Also:
-
operation_context
See ServerRequestInfo for javadocs.- Specified by:
operation_contextin interfaceRequestInfoOperations- Specified by:
operation_contextin classRequestInfoImpl- Returns:
- array of operation contexts
- See Also:
-
result
See ServerRequestInfo for javadocs.- Specified by:
resultin interfaceRequestInfoOperations- Specified by:
resultin classRequestInfoImpl- Returns:
- the result from the invoked operation
- See Also:
-
response_expected
public boolean response_expected()See ServerRequestInfo for javadocs.- Specified by:
response_expectedin interfaceRequestInfoOperations- Specified by:
response_expectedin classRequestInfoImpl- Returns:
- if a response is expected
-
forward_reference
See ServerRequestInfo for javadocs.- Specified by:
forward_referencein interfaceRequestInfoOperations- Specified by:
forward_referencein classRequestInfoImpl- Returns:
- object to which attribute is forwarded.
-
get_request_service_context
See ServerRequestInfo for javadocs.- Specified by:
get_request_service_contextin interfaceRequestInfoOperations- Specified by:
get_request_service_contextin 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_contextin interfaceRequestInfoOperations- Specified by:
get_reply_service_contextin classRequestInfoImpl- Parameters:
id- ID of the service context- Returns:
- A copy of the Service Context
-
isNameService
public boolean isNameService()- Specified by:
isNameServicein 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:
setCurrentExecutionPointin 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-Anyholding exception that occurred during operation
-
setDSIResult
Stores the various sources of information used for this info object.- Parameters:
result-Anyholding result of operation
-
setException
Description copied from class:RequestInfoImplSets the exception to be returned by received_exception and received_exception_id.- Overrides:
setExceptionin 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:
setReplyStatusin 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:
checkAccessin 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.
-