Package com.sun.corba.ee.impl.protocol
Class LocalClientRequestDispatcherBase
java.lang.Object
com.sun.corba.ee.impl.protocol.LocalClientRequestDispatcherBase
- All Implemented Interfaces:
LocalClientRequestDispatcher
- Direct Known Subclasses:
JIDLLocalCRDImpl
,POALocalCRDImpl
,ServantCacheLocalCRDBase
public abstract class LocalClientRequestDispatcherBase
extends Object
implements LocalClientRequestDispatcher
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final ThreadLocal
private static final int
private static final int
protected ObjectAdapterFactory
protected ObjectAdapterId
protected byte[]
protected ORB
protected static final POASystemException
private int
protected boolean
protected static final ORBUtilSystemException
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
LocalClientRequestDispatcherBase
(ORB orb, int scid, IOR ior) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
checkForCompatibleServant
(ServantObject so, Class expectedType) Check that the servant in info (which must not be null) is an instance of the expectedType.protected void
private void
private void
private void
byte[]
protected ServantObject
internalPreinvoke
(Object self, String operation, Class expectedType) boolean
servant_preinvoke
(Object self, String operation, Class expectedType) Returns a Java reference to the servant which should be used for this request.private void
boolean
useLocalInvocation
(Object self) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.sun.corba.ee.spi.protocol.LocalClientRequestDispatcher
servant_postinvoke
-
Field Details
-
poaWrapper
-
wrapper
-
INITIAL_BACKOFF
private static final int INITIAL_BACKOFF- See Also:
-
MAX_BACKOFF
private static final int MAX_BACKOFF- See Also:
-
MAX_WAIT_TIME
private static final int MAX_WAIT_TIME- See Also:
-
orb
-
scid
private int scid -
servantIsLocal
protected boolean servantIsLocal -
oaf
-
oaid
-
objectId
protected byte[] objectId -
isNextCallValid
-
-
Constructor Details
-
LocalClientRequestDispatcherBase
-
-
Method Details
-
getObjectId
public byte[] getObjectId() -
is_local
- Specified by:
is_local
in interfaceLocalClientRequestDispatcher
-
useLocalInvocation
- Specified by:
useLocalInvocation
in interfaceLocalClientRequestDispatcher
-
servantNotCompatible
@InfoMethod private void servantNotCompatible() -
checkForCompatibleServant
Check that the servant in info (which must not be null) is an instance of the expectedType. If not, set the thread local flag and return false.- Parameters:
so
- Servant to checkexpectedType
- Type to check against- Returns:
- If the servant is an instance of the expected type
-
internalPreinvoke
protected ServantObject internalPreinvoke(Object self, String operation, Class expectedType) throws OADestroyed - Throws:
OADestroyed
-
cleanupAfterOADestroyed
protected void cleanupAfterOADestroyed() -
display
-
display
-
display
-
servant_preinvoke
Description copied from interface:LocalClientRequestDispatcher
Returns a Java reference to the servant which should be used for this request. servant_preinvoke() is invoked by a local stub. If a ServantObject object is returned, then its servant field has been set to an object of the expected type (Note: the object may or may not be the actual servant instance). The local stub may cast the servant field to the expected type, and then invoke the operation directly.- Specified by:
servant_preinvoke
in interfaceLocalClientRequestDispatcher
- Parameters:
self
- The object reference which delegated to this delegate.operation
- a string containing the operation name. The operation name corresponds to the operation name as it would be encoded in a GIOP request.expectedType
- a Class object representing the expected type of the servant. The expected type is the Class object associated with the operations class of the stub's interface (e.g. A stub for an interface Foo, would pass the Class object for the FooOperations interface).- Returns:
- a ServantObject object. The method may return a null value if it does not wish to support this optimization (e.g. due to security, transactions, etc). The method must return null if the servant is not of the expected type.
-