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 Details

  • Constructor Details

    • LocalClientRequestDispatcherBase

      protected LocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior)
  • Method Details

    • getObjectId

      public byte[] getObjectId()
    • is_local

      public boolean is_local(Object self)
      Specified by:
      is_local in interface LocalClientRequestDispatcher
    • useLocalInvocation

      public boolean useLocalInvocation(Object self)
      Specified by:
      useLocalInvocation in interface LocalClientRequestDispatcher
    • servantNotCompatible

      @InfoMethod private void servantNotCompatible()
    • checkForCompatibleServant

      protected boolean checkForCompatibleServant(ServantObject so, Class expectedType)
      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 check
      expectedType - 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

      @InfoMethod private void display(String msg)
    • display

      @InfoMethod private void display(String msg, int value)
    • display

      @InfoMethod private void display(String msg, Object value)
    • servant_preinvoke

      public ServantObject servant_preinvoke(Object self, String operation, Class expectedType)
      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 interface LocalClientRequestDispatcher
      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.