Class ServerRequestImpl
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate NVList
private Context
private Any
private boolean
private InputStream
private String
private ORB
private boolean
private Any
private boolean
private static final ORBUtilSystemException
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Specifies method parameter types and retrieves "in" and "inout" argument values.This is called from the ORB after the DynamicImplementation.invoke returns.ctx()
Returns the context information specified in IDL for the operation when the operation is not an attribute access and the operation's IDL definition contains a context expression; otherwise it returns a nilContext
reference.void
This is called from the ORB after the DynamicImplementation.invoke returns.Throws anorg.omg.CORBA.NO_IMPLEMENT
exception.void
set_exception
(Any exc) Throws anorg.omg.CORBA.NO_IMPLEMENT
exception.void
set_result
(Any res) Throws anorg.omg.CORBA.NO_IMPLEMENT
exception.Methods inherited from class org.omg.CORBA.ServerRequest
except, op_name, params, result
-
Field Details
-
_wrapper
-
_orb
-
_opName
-
_arguments
-
_ctx
-
_ins
-
_paramsCalled
private boolean _paramsCalled -
_resultSet
private boolean _resultSet -
_exceptionSet
private boolean _exceptionSet -
_resultAny
-
_exception
-
-
Constructor Details
-
ServerRequestImpl
-
-
Method Details
-
operation
Description copied from class:ServerRequest
Throws anorg.omg.CORBA.NO_IMPLEMENT
exception.Retrieves the name of the operation being invoked. According to OMG IDL's rules, these names must be unique among all operations supported by this object's "most-derived" interface. Note that the operation names for getting and setting attributes are
_get_<attribute_name>
and_set_<attribute_name>
, respectively.- Overrides:
operation
in classServerRequest
- Returns:
- the name of the operation to be invoked
- See Also:
-
arguments
Description copied from class:ServerRequest
Specifies method parameter types and retrieves "in" and "inout" argument values. Unless it calls the methodset_exception
, the DIR must call this method exactly once, even if the method signature contains no parameters. Once the methodarguments
orset_exception
has been called, callingarguments
on the sameServerRequest
object will result in aBAD_INV_ORDER
system exception. The DIR must pass in to the methodarguments
an NVList initialized with TypeCodes and Flags describing the parameter types for the operation, in the order in which they appear in the IDL specification (left to right). A potentially-different NVList will be returned fromarguments
, with the "in" and "inout" argument values supplied. If it does not call the methodset_exception
, the DIR must supply the returned NVList with return values for any "out" arguments before returning, and it may also change the return values for any "inout" arguments.- Overrides:
arguments
in classServerRequest
- Parameters:
args
- the arguments of the method, in the form of an NVList- See Also:
-
set_result
Description copied from class:ServerRequest
Throws anorg.omg.CORBA.NO_IMPLEMENT
exception.Specifies any return value for the call. Unless the method
set_exception
is called, if the invoked method has a non-void result type, the methodset_result
must be called exactly once before the DIR returns. If the operation has a void result type, the methodset_result
may optionally be called once with anAny
object whose type istk_void
. Calling the methodset_result
before the methodarguments
has been called or after the methodset_result
orset_exception
has been called will result in a BAD_INV_ORDER exception. Calling the methodset_result
without having previously called the methodctx
when the IDL operation contains a context expression, or when the NVList passed to arguments did not describe all parameters passed by the client, may result in a MARSHAL system exception.- Overrides:
set_result
in classServerRequest
- Parameters:
res
- anAny
object containing the return value to be set- See Also:
-
set_exception
Description copied from class:ServerRequest
Throws anorg.omg.CORBA.NO_IMPLEMENT
exception.Returns the given exception to the client. This method is invoked by the DIR, which may call it at any time. The
Any
object passed to this method must contain either a system exception or one of the user exceptions specified in the invoked operation's IDL definition. Passing in anAny
object that does not contain an exception will cause a BAD_PARAM system exception to be thrown. Passing in an unlisted user exception will result in either the DIR receiving a BAD_PARAM system exception or in the client receiving an UNKNOWN_EXCEPTION system exception.- Overrides:
set_exception
in classServerRequest
- Parameters:
exc
- theAny
object containing the exception- See Also:
-
checkResultCalled
This is called from the ORB after the DynamicImplementation.invoke returns. Here we set the result if result() has not already been called.- Returns:
- the exception if there is one (then ORB will not call marshalReplyParams()) otherwise return null.
-
marshalReplyParams
This is called from the ORB after the DynamicImplementation.invoke returns. Here we marshal the return value and inout/out params.- Parameters:
os
- OutputStream into which to marshal the parameters
-
ctx
Description copied from class:ServerRequest
Returns the context information specified in IDL for the operation when the operation is not an attribute access and the operation's IDL definition contains a context expression; otherwise it returns a nilContext
reference. Calling the methodctx
before the methodarguments
has been called or after the methodctx
,set_result
, orset_exception
has been called will result in a BAD_INV_ORDER system exception.- Specified by:
ctx
in classServerRequest
- Returns:
- the context object that is to be used to resolve any context strings whose values need to be sent with the invocation.
-