FileDocCategorySizeDatePackage
TOAFactory.javaAPI DocJava SE 5 API2356Fri Aug 26 14:54:28 BST 2005com.sun.corba.se.impl.oa.toa

TOAFactory

public class TOAFactory extends Object implements com.sun.corba.se.spi.oa.ObjectAdapterFactory

Fields Summary
private com.sun.corba.se.spi.orb.ORB
orb
private com.sun.corba.se.impl.logging.ORBUtilSystemException
wrapper
private com.sun.corba.se.impl.oa.toa.TOAImpl
toa
private Map
codebaseToTOA
private com.sun.corba.se.impl.oa.toa.TransientObjectManager
tom
Constructors Summary
Methods Summary
public com.sun.corba.se.spi.oa.ObjectAdapterfind(com.sun.corba.se.spi.ior.ObjectAdapterId oaid)

	if (oaid.equals( ObjectKeyTemplateBase.JIDL_OAID )  )
	    // Return the dispatch-only TOA, which can dispatch
	    // request for objects created by any TOA.
	    return getTOA() ;
	else 
	    throw wrapper.badToaOaid() ;
    
public com.sun.corba.se.spi.orb.ORBgetORB()

	return orb ;
    
public synchronized TOAgetTOA(java.lang.String codebase)

	TOA toa = (TOA)(codebaseToTOA.get( codebase )) ;
	if (toa == null) {
	    toa = new TOAImpl( orb, tom, codebase ) ;

	    codebaseToTOA.put( codebase, toa ) ;
	}

	return toa ;
    
public synchronized TOAgetTOA()

	if (toa == null)
	    // The dispatch-only TOA is not used for creating
	    // objrefs, so its codebase can be null (and must
	    // be, since we do not have a servant at this point)
	    toa = new TOAImpl( orb, tom, null ) ;

	return toa ;
    
public voidinit(com.sun.corba.se.spi.orb.ORB orb)

	this.orb = orb ;
	wrapper = ORBUtilSystemException.get( orb,
	    CORBALogDomains.OA_LIFECYCLE ) ;
	tom = new TransientObjectManager( orb ) ;
	codebaseToTOA = new HashMap() ;
    
public voidshutdown(boolean waitForCompletion)

	if (Util.instance != null) {
	    Util.instance.unregisterTargetsForORB(orb);
	}