/*
* @(#)StubFactoryBase.java 1.7 04/07/27
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.sun.corba.se.impl.presentation.rmi ;
import javax.rmi.CORBA.Tie ;
import java.lang.reflect.InvocationHandler ;
import java.lang.reflect.Proxy ;
import com.sun.corba.se.spi.presentation.rmi.PresentationManager ;
import com.sun.corba.se.spi.presentation.rmi.DynamicStub ;
import com.sun.corba.se.spi.presentation.rmi.StubAdapter ;
import com.sun.corba.se.spi.orbutil.proxy.InvocationHandlerFactory ;
import com.sun.corba.se.spi.orbutil.proxy.LinkedInvocationHandler ;
public abstract class StubFactoryBase implements PresentationManager.StubFactory
{
private String[] typeIds = null ;
protected final PresentationManager.ClassData classData ;
protected StubFactoryBase( PresentationManager.ClassData classData )
{
this.classData = classData ;
}
public synchronized String[] getTypeIds()
{
if (typeIds == null) {
if (classData == null) {
org.omg.CORBA.Object stub = makeStub() ;
typeIds = StubAdapter.getTypeIds( stub ) ;
} else {
typeIds = classData.getTypeIds() ;
}
}
return typeIds ;
}
}
|