/*
* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.corba.se.impl.presentation.rmi ;
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.orbutil.proxy.InvocationHandlerFactory ;
import com.sun.corba.se.spi.orbutil.proxy.LinkedInvocationHandler ;
public class StubFactoryProxyImpl extends StubFactoryDynamicBase
{
public StubFactoryProxyImpl( PresentationManager.ClassData classData,
ClassLoader loader )
{
super( classData, loader ) ;
}
public org.omg.CORBA.Object makeStub()
{
// Construct the dynamic proxy that implements this stub
// using the composite handler
InvocationHandlerFactory factory = classData.getInvocationHandlerFactory() ;
LinkedInvocationHandler handler =
(LinkedInvocationHandler)factory.getInvocationHandler() ;
Class[] interfaces = factory.getProxyInterfaces() ;
DynamicStub stub = (DynamicStub)Proxy.newProxyInstance( loader, interfaces,
handler ) ;
handler.setProxy( (Proxy)stub ) ;
return stub ;
}
}