/* * @(#)StubDelegate.java 1.14 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.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.rmi.RemoteException; import org.omg.CORBA.ORB; /** * Supports delegation for method implementations in {@link Stub}. * A delegate is an instance of a class that implements this * interface and provides a replacement implementation for all the * methods of javax.rmi.CORBA.Stub. If delegation is * enabled, each stub has an associated delegate. * * Delegates are enabled by providing the delegate's class name as the * value of the * javax.rmi.CORBA.StubClass * system property. * * @see Stub */ public interface StubDelegate { /** * Delegation call for {@link Stub#hashCode}. */ int hashCode(Stub self); /** * Delegation call for {@link Stub#equals}. */ boolean equals(Stub self, java.lang.Object obj); /** * Delegation call for {@link Stub#toString}. */ String toString(Stub self); /** * Delegation call for {@link Stub#connect}. */ void connect(Stub self, ORB orb) throws RemoteException; // _REVISIT_ cannot link to Stub.readObject directly... why not? /** * Delegation call for * Stub.readObject(java.io.ObjectInputStream). */ void readObject(Stub self, ObjectInputStream s) throws IOException, ClassNotFoundException; // _REVISIT_ cannot link to Stub.writeObject directly... why not? /** * Delegation call for * Stub.writeObject(java.io.ObjectOutputStream). */ void writeObject(Stub self, ObjectOutputStream s) throws IOException; }