diff -r 000000000000 -r 7ef37b2cdcad src/share/classes/javax/rmi/CORBA/UtilDelegate.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/classes/javax/rmi/CORBA/UtilDelegate.java Wed Apr 27 01:21:28 2016 +0800 @@ -0,0 +1,135 @@ +/* + * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + * Licensed Materials - Property of IBM + * RMI-IIOP v1.0 + * Copyright IBM Corp. 1998 1999 All Rights Reserved + * + */ + +package javax.rmi.CORBA; + +import java.io.Serializable; +import java.rmi.Remote; +import java.rmi.RemoteException; +import javax.rmi.CORBA.Tie; +import javax.rmi.CORBA.ValueHandler; +import org.omg.CORBA.ORB; +import org.omg.CORBA.portable.InputStream; +import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.SystemException; + +/** + * Supports delegation for method implementations in {@link Util}. 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.CORBA.Util. + * + * Delegation is enabled by providing the delegate's class name as the + * value of the + * javax.rmi.CORBA.UtilClass + * system property. + * + * @see Util + */ +public interface UtilDelegate { + + /** + * Delegation call for {@link Util#mapSystemException}. + */ + RemoteException mapSystemException(SystemException ex); + + /** + * Delegation call for {@link Util#writeAny}. + */ + void writeAny(OutputStream out, Object obj); + + /** + * Delegation call for {@link Util#readAny}. + */ + java.lang.Object readAny(InputStream in); + + /** + * Delegation call for {@link Util#writeRemoteObject}. + */ + void writeRemoteObject(OutputStream out, Object obj); + + /** + * Delegation call for {@link Util#writeAbstractObject}. + */ + void writeAbstractObject(OutputStream out, Object obj); + + /** + * Delegation call for {@link Util#registerTarget}. + */ + void registerTarget(Tie tie, Remote target); + + /** + * Delegation call for {@link Util#unexportObject}. + */ + void unexportObject(Remote target) throws java.rmi.NoSuchObjectException; + + /** + * Delegation call for {@link Util#getTie}. + */ + Tie getTie(Remote target); + + /** + * Delegation call for {@link Util#createValueHandler}. + */ + ValueHandler createValueHandler(); + + /** + * Delegation call for {@link Util#getCodebase}. + */ + String getCodebase(Class clz); + + /** + * Delegation call for {@link Util#loadClass}. + */ + Class loadClass(String className, String remoteCodebase, ClassLoader loader) + throws ClassNotFoundException; + + /** + * Delegation call for {@link Util#isLocal}. + */ + boolean isLocal(Stub stub) throws RemoteException; + + /** + * Delegation call for {@link Util#wrapException}. + */ + RemoteException wrapException(Throwable obj); + + /** + * Delegation call for {@link Util#copyObject}. + */ + Object copyObject(Object obj, ORB orb) throws RemoteException; + + /** + * Delegation call for {@link Util#copyObjects}. + */ + Object[] copyObjects(Object[] obj, ORB orb) throws RemoteException; + +}