1/* 2 * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package java.rmi.server; 27import java.rmi.*; 28import java.io.ObjectOutput; 29import java.io.ObjectInput; 30import java.io.StreamCorruptedException; 31import java.io.IOException; 32 33/** 34 * <code>RemoteCall</code> is an abstraction used solely by the RMI runtime 35 * (in conjunction with stubs and skeletons of remote objects) to carry out a 36 * call to a remote object. The <code>RemoteCall</code> interface is 37 * deprecated because it is only used by deprecated methods of 38 * <code>java.rmi.server.RemoteRef</code>. 39 * 40 * @since 1.1 41 * @author Ann Wollrath 42 * @author Roger Riggs 43 * @see java.rmi.server.RemoteRef 44 * @deprecated no replacement. 45 */ 46@Deprecated 47public interface RemoteCall { 48 49 /** 50 * Return the output stream the stub/skeleton should put arguments/results 51 * into. 52 * 53 * @return output stream for arguments/results 54 * @exception java.io.IOException if an I/O error occurs. 55 * @since 1.1 56 * @deprecated no replacement 57 */ 58 @Deprecated 59 ObjectOutput getOutputStream() throws IOException; 60 61 /** 62 * Release the output stream; in some transports this would release 63 * the stream. 64 * 65 * @exception java.io.IOException if an I/O error occurs. 66 * @since 1.1 67 * @deprecated no replacement 68 */ 69 @Deprecated 70 void releaseOutputStream() throws IOException; 71 72 /** 73 * Get the InputStream that the stub/skeleton should get 74 * results/arguments from. 75 * 76 * @return input stream for reading arguments/results 77 * @exception java.io.IOException if an I/O error occurs. 78 * @since 1.1 79 * @deprecated no replacement 80 */ 81 @Deprecated 82 ObjectInput getInputStream() throws IOException; 83 84 85 /** 86 * Release the input stream. This would allow some transports to release 87 * the channel early. 88 * 89 * @exception java.io.IOException if an I/O error occurs. 90 * @since 1.1 91 * @deprecated no replacement 92 */ 93 @Deprecated 94 void releaseInputStream() throws IOException; 95 96 /** 97 * Returns an output stream (may put out header information 98 * relating to the success of the call). Should only succeed 99 * once per remote call. 100 * 101 * @param success If true, indicates normal return, else indicates 102 * exceptional return. 103 * @return output stream for writing call result 104 * @exception java.io.IOException if an I/O error occurs. 105 * @exception java.io.StreamCorruptedException If already been called. 106 * @since 1.1 107 * @deprecated no replacement 108 */ 109 @Deprecated 110 ObjectOutput getResultStream(boolean success) throws IOException, 111 StreamCorruptedException; 112 113 /** 114 * Do whatever it takes to execute the call. 115 * 116 * @exception java.lang.Exception if a general exception occurs. 117 * @since 1.1 118 * @deprecated no replacement 119 */ 120 @Deprecated 121 void executeCall() throws Exception; 122 123 /** 124 * Allow cleanup after the remote call has completed. 125 * 126 * @exception java.io.IOException if an I/O error occurs. 127 * @since 1.1 128 * @deprecated no replacement 129 */ 130 @Deprecated 131 void done() throws IOException; 132} 133