FileDocCategorySizeDatePackage
FullServantCacheLocalCRDImpl.javaAPI DocJava SE 5 API1828Fri Aug 26 14:54:30 BST 2005com.sun.corba.se.impl.protocol

FullServantCacheLocalCRDImpl

public class FullServantCacheLocalCRDImpl extends ServantCacheLocalCRDBase

Fields Summary
Constructors Summary
public FullServantCacheLocalCRDImpl(com.sun.corba.se.spi.orb.ORB orb, int scid, com.sun.corba.se.spi.ior.IOR ior)

	super( (com.sun.corba.se.spi.orb.ORB)orb, scid, ior ) ;
    
Methods Summary
public voidservant_postinvoke(org.omg.CORBA.Object self, org.omg.CORBA.portable.ServantObject servantobj)

	OAInvocationInfo cachedInfo = getCachedInfo() ;
	cachedInfo.oa().exit() ;
	orb.popInvocationInfo() ;
    
public org.omg.CORBA.portable.ServantObjectservant_preinvoke(org.omg.CORBA.Object self, java.lang.String operation, java.lang.Class expectedType)

	OAInvocationInfo cachedInfo = getCachedInfo() ;
	if (!checkForCompatibleServant( cachedInfo, expectedType ))
	    return null ;

	// Note that info is shared across multiple threads
	// using the same subcontract, each of which may
	// have its own operation.  Therefore we need to clone it.
	OAInvocationInfo info = new OAInvocationInfo( cachedInfo, operation ) ;
	orb.pushInvocationInfo( info ) ;

	try {
	    info.oa().enter() ;
	} catch (OADestroyed pdes) {
	    throw wrapper.preinvokePoaDestroyed( pdes ) ;
	}

	return info ;