org.omg.PortableServer
public class _ServantLocatorStub extends ObjectImpl implements ServantLocator, Serializable
The ServantLocator stub is an optional base for the
servant locators. This stub cannot accept remote invocations, as
methods in ServantLocatorOperations
take POA as one of parameters.
Both JDK 1.5 API and OMG specifies that POA is a local object that must not
be transferred to the remote invocation target.
You do not need to derive your servant locator from this stub,
it is enough to implement the ServantLocator
interface.
But you may choose to do this if you need its functional
_ids()
method or want to keep default behavior during per-
or post- invokcations.
Modifier and Type | Field and Description |
---|---|
static Class |
_opsClass
This the purpose of this field is undocumented up till 1.5 java API
inclusive.
|
Constructor and Description |
---|
_ServantLocatorStub() |
Modifier and Type | Method and Description |
---|---|
String[] |
_ids()
Return the array of repository ids for this object, stating that it is
both Servant locator and Servant manager.
|
void |
postinvoke(byte[] Object_id,
POA poa,
String method,
Object cookie,
Servant servant)
It is your responsibility to take the postinvoke actions, if any,
by overriding this method.
|
Servant |
preinvoke(byte[] Object_id,
POA poa,
String method,
CookieHolder cookie)
It is your responsibility to take the preinvoke actions, if any,
and also supply an appropriate servant for the current invocation.
|
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, toString
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
_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
public _ServantLocatorStub()
public String[] _ids()
_ids
in class ObjectImpl
public Servant preinvoke(byte[] Object_id, POA poa, String method, CookieHolder cookie) throws ForwardRequest
preinvoke
in interface ServantLocatorOperations
Object_id
- the id of the object, on which the request was called.poa
- the POA in those scope the object is active.method
- the name of the method or operation being invoked.cookie
- the holder where the servant manager can store
an arbitrary java.lang.Object. This object will be later passed as a
cookie
parameter for ServantLocatorOperations.postinvoke(byte[], org.omg.PortableServer.POA, java.lang.String, java.lang.Object, org.omg.PortableServer.Servant)
, to create tie
between preinvoke and postinvoke. The application should not
suppose that each call of preinvoke is followed by the subsequent
postinvoke for the same invocation; under multi threaded policy these
calls may be intermixed.ForwardRequest
- if the locator decides to forward the request
to another object. The exception contains the object that should
handle this request. This object is usually remote, but can also
be local. As preinvoke
is called on each method
invocation, the thrown exception will forward only this current request.ServantLocatorOperations.preinvoke(byte[], org.omg.PortableServer.POA, java.lang.String, org.omg.PortableServer.ServantLocatorPackage.CookieHolder)
public void postinvoke(byte[] Object_id, POA poa, String method, Object cookie, Servant servant)
postinvoke
in interface ServantLocatorOperations
Object_id
- the id of the object, on which the request was called.poa
- the POA in those scope the object is active.method
- the name of the method or operation that was invoked.cookie
- the object that has been previously set by preinvoke in
the cookie_holder
parameter.servant
- the servant, associated with the object.ServantLocatorOperations.postinvoke(byte[], org.omg.PortableServer.POA, java.lang.String, java.lang.Object, org.omg.PortableServer.Servant)