/* * @(#)PortableRemoteObjectDelegate.java 1.12 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ /* * Licensed Materials - Property of IBM * RMI-IIOP v1.0 * Copyright IBM Corp. 1998 1999 All Rights Reserved * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ package javax.rmi.CORBA; import java.rmi.RemoteException; import java.rmi.NoSuchObjectException; import java.rmi.Remote; /** * Supports delegation for method implementations in {@link javax.rmi.PortableRemoteObject}. * The delegate is a singleton instance of a class that implements this * interface and provides a replacement implementation for all the * methods of javax.rmi.PortableRemoteObject. * * Delegates are enabled by providing the delegate's class name as the * value of the * javax.rmi.CORBA.PortableRemoteObjectClass * system property. * * @see javax.rmi.PortableRemoteObject */ public interface PortableRemoteObjectDelegate { /** * Delegation call for {@link javax.rmi.PortableRemoteObject#exportObject}. */ void exportObject(Remote obj) throws RemoteException; /** * Delegation call for {@link javax.rmi.PortableRemoteObject#toStub}. */ Remote toStub (Remote obj) throws NoSuchObjectException; /** * Delegation call for {@link javax.rmi.PortableRemoteObject#unexportObject}. */ void unexportObject(Remote obj) throws NoSuchObjectException; /** * Delegation call for {@link javax.rmi.PortableRemoteObject#narrow}. */ java.lang.Object narrow (java.lang.Object narrowFrom, java.lang.Class narrowTo) throws ClassCastException; /** * Delegation call for {@link javax.rmi.PortableRemoteObject#connect}. */ void connect (Remote target, Remote source) throws RemoteException; }