/* * @(#)InvocationHandlerFactoryImpl.java 1.8 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 java.lang.reflect.InvocationHandler ; import java.lang.reflect.Proxy ; import java.lang.reflect.Method ; import org.omg.CORBA.portable.ObjectImpl ; import java.io.ObjectStreamException ; import java.io.Serializable ; import com.sun.corba.se.spi.presentation.rmi.IDLNameTranslator ; 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.LinkedInvocationHandler ; import com.sun.corba.se.spi.orbutil.proxy.InvocationHandlerFactory ; import com.sun.corba.se.spi.orbutil.proxy.DelegateInvocationHandlerImpl ; import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandler ; import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl ; public class InvocationHandlerFactoryImpl implements InvocationHandlerFactory { private final PresentationManager.ClassData classData ; private final PresentationManager pm ; private Class[] proxyInterfaces ; public InvocationHandlerFactoryImpl( PresentationManager pm, PresentationManager.ClassData classData ) { this.classData = classData ; this.pm = pm ; Class[] remoteInterfaces = classData.getIDLNameTranslator().getInterfaces() ; proxyInterfaces = new Class[ remoteInterfaces.length + 1 ] ; for (int ctr=0; ctr