FileDocCategorySizeDatePackage
StubFactoryFactoryDynamicBase.javaAPI DocJava SE 5 API2399Fri Aug 26 14:54:30 BST 2005com.sun.corba.se.impl.presentation.rmi

StubFactoryFactoryDynamicBase

public abstract class StubFactoryFactoryDynamicBase extends StubFactoryFactoryBase

Fields Summary
protected final com.sun.corba.se.impl.logging.ORBUtilSystemException
wrapper
Constructors Summary
public StubFactoryFactoryDynamicBase()

	wrapper = ORBUtilSystemException.get( 
	    CORBALogDomains.RPC_PRESENTATION ) ;
    
Methods Summary
public PresentationManager.StubFactorycreateStubFactory(java.lang.String className, boolean isIDLStub, java.lang.String remoteCodeBase, java.lang.Class expectedClass, java.lang.ClassLoader classLoader)

	Class cls = null ;

	try {
	    cls = Util.loadClass( className, remoteCodeBase, classLoader ) ;
	} catch (ClassNotFoundException exc) {
	    throw wrapper.classNotFound3( 
		CompletionStatus.COMPLETED_MAYBE, exc, className ) ;
	}

	PresentationManager pm = ORB.getPresentationManager() ;

	if (IDLEntity.class.isAssignableFrom( cls ) && 
	    !Remote.class.isAssignableFrom( cls )) {
	    // IDL stubs must always use static factories.
	    PresentationManager.StubFactoryFactory sff = 
		pm.getStubFactoryFactory( false ) ; 
	    PresentationManager.StubFactory sf = 
		sff.createStubFactory( className, true, remoteCodeBase, 
		    expectedClass, classLoader ) ;
	    return sf ;
	} else {
	    PresentationManager.ClassData classData = pm.getClassData( cls ) ;
	    return makeDynamicStubFactory( pm, classData, classLoader ) ;
	}
    
public booleancreatesDynamicStubs()

	return true ;
    
public javax.rmi.CORBA.TiegetTie(java.lang.Class cls)

	PresentationManager pm = ORB.getPresentationManager() ;
	return new ReflectiveTie( pm, wrapper ) ;
    
public abstract PresentationManager.StubFactorymakeDynamicStubFactory(com.sun.corba.se.spi.presentation.rmi.PresentationManager pm, PresentationManager.ClassData classData, java.lang.ClassLoader classLoader)