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 TypeFieldDescriptionprotected ObjectAdapterFactoryprotected ObjectAdapterIdprotected byte[]protected ORBprotected static final POASystemExceptionprotected booleanprotected static final ORBUtilSystemException -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedLocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckForCompatibleServant(ServantObject so, Class expectedType) Check that the servant in info (which must not be null) is an instance of the expectedType.protected voidbyte[]protected ServantObjectinternalPreinvoke(Object self, String operation, Class expectedType) booleanservant_preinvoke(Object self, String operation, Class expectedType) Returns a Java reference to the servant which should be used for this request. servant_preinvoke() is invoked by a local stub.booleanuseLocalInvocation(Object self) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface LocalClientRequestDispatcher
servant_postinvoke
-
Field Details
-
poaWrapper
-
wrapper
-
orb
-
servantIsLocal
protected boolean servantIsLocal -
oaf
-
oaid
-
objectId
protected byte[] objectId
-
-
Constructor Details
-
LocalClientRequestDispatcherBase
-
-
Method Details
-
getObjectId
public byte[] getObjectId() -
is_local
- Specified by:
is_localin interfaceLocalClientRequestDispatcher
-
useLocalInvocation
- Specified by:
useLocalInvocationin interfaceLocalClientRequestDispatcher
-
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() -
servant_preinvoke
Description copied from interface:LocalClientRequestDispatcherReturns 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_preinvokein 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.
-