⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remoteref.java

📁 JAVA基本类源代码,大家可以学习学习!
💻 JAVA
字号:
/* * @(#)RemoteRef.java	1.20 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package java.rmi.server;import java.rmi.*;/** * <code>RemoteRef</code> represents the handle for a remote object. A * <code>RemoteStub</code> uses a remote reference to carry out a * remote method invocation to a remote object. * * @version 1.20, 01/23/03 * @author  Ann Wollrath * @since   JDK1.1 * @see     java.rmi.server.RemoteStub */public interface RemoteRef extends java.io.Externalizable {    /** indicate compatibility with JDK 1.1.x version of class. */    static final long serialVersionUID = 3632638527362204081L;    /**     * Initialize the server package prefix: assumes that the     * implementation of server ref classes (e.g., UnicastRef,     * UnicastServerRef) are located in the package defined by the     * prefix.     */    final static String packagePrefix = "sun.rmi.server";    /**     * Invoke a method. This form of delegating method invocation     * to the reference allows the reference to take care of     * setting up the connection to the remote host, marshaling     * some representation for the method and parameters, then     * communicating the method invocation to the remote host.     * This method either returns the result of a method invocation     * on the remote object which resides on the remote host or     * throws a RemoteException if the call failed or an     * application-level exception if the remote invocation throws     * an exception.     *         * @param obj the object that contains the RemoteRef (e.g., the     *            RemoteStub for the object.     * @param method the method to be invoked     * @param params the parameter list     * @param opnum  a hash that may be used to represent the method     * @return result of remote method invocation     * @exception Exception if any exception occurs during remote method     * invocation     * @since 1.2     */    Object invoke(Remote obj,		  java.lang.reflect.Method method,		  Object[] params,		  long opnum)	throws Exception;        /**     * Creates an appropriate call object for a new remote method     * invocation on this object.  Passing operation array and index,     * allows the stubs generator to assign the operation indexes and     * interpret them. The remote reference may need the operation to     * encode in the call.     *     * @since JDK1.1     * @deprecated 1.2 style stubs no longer use this method. Instead of     * using a sequence of method calls on the stub's the remote reference     * (<code>newCall</code>, <code>invoke</code>, and <code>done</code>), a     * stub uses a single method, <code>invoke(Remote, Method, Object[],     * int)</code>, on the remote reference to carry out parameter     * marshalling, remote method executing and unmarshalling of the return     * value.     *     * <p>1.2 stubs are generated using <code>rmic -v1.2</code>. By     * default, <code>rmic</code> generates stubs compatible with JDK1.1 and     * the Java 2 SDK. The compatible stubs can also be generated using     * <code>rmic -vcompat</code>.     * @param obj remote stub through which to make call     * @param op array of stub operations     * @param opnum operation number     * @param hash stub/skeleton interface hash     * @return call object representing remote call     * @throws RemoteException if failed to initiate new remote call     * @see #invoke(Remote,java.lang.reflect.Method,Object[],long)     */    RemoteCall newCall(RemoteObject obj, Operation[] op, int opnum, long hash) 	throws RemoteException;        /**     * Executes the remote call.     *      * Invoke will raise any "user" exceptions which     * should pass through and not be caught by the stub.  If any     * exception is raised during the remote invocation, invoke should     * take care of cleaning up the connection before raising the     * "user" or remote exception.     *     * @since JDK1.1     * @deprecated 1.2 style stubs no longer use this method. Instead of     * using a sequence of method calls to the remote reference     * (<code>newCall</code>, <code>invoke</code>, and <code>done</code>), a     * stub uses a single method, <code>invoke(Remote, Method, Object[],     * int)</code>, on the remote reference to carry out parameter     * marshalling, remote method executing and unmarshalling of the return     * value.     *     * <p>1.2 stubs are generated using <code>rmic -v1.2</code>. By     * default, <code>rmic</code> generates stubs compatible with JDK1.1 and     * the Java 2 SDK. The compatible stubs can also be generated using     * <code>rmic -vcompat</code>.     * @param call object representing remote call     * @throws Exception if any exception occurs during remote method     * @see #invoke(Remote,java.lang.reflect.Method,Object[],long)     */    void invoke(RemoteCall call) throws Exception;        /**     * Allows the remote reference to clean up (or reuse) the connection.     * Done should only be called if the invoke returns successfully     * (non-exceptionally) to the stub.     *     * @since JDK1.1     * @deprecated 1.2 style stubs no longer use this method. Instead of     * using a sequence of method calls to the remote reference     * (<code>newCall</code>, <code>invoke</code>, and <code>done</code>), a     * stub uses a single method, <code>invoke(Remote, Method, Object[],     * int)</code>, on the remote reference to carry out parameter     * marshalling, remote method executing and unmarshalling of the return     * value.     *     * <p>1.2 stubs are generated using <code>rmic -v1.2</code>. By     * default, <code>rmic</code> generates stubs compatible with JDK1.1 and     * the Java 2 SDK. The compatible stubs can also be generated using <code>rmic     * -vcompat</code>.     * @param call object representing remote call     * @throws RemoteException if remote error occurs during call cleanup     * @see #invoke(Remote,java.lang.reflect.Method,Object[],long)     */    void done(RemoteCall call) throws RemoteException;        /**     * Returns the class name of the ref type to be serialized onto     * the stream 'out'.     * @param out the output stream to which the reference will be serialized     * @return the class name (without package qualification) of the reference     * type     * @since JDK1.1     */    String getRefClass(java.io.ObjectOutput out);        /**     * Returns a hashcode for a remote object.  Two remote object stubs     * that refer to the same remote object will have the same hash code     * (in order to support remote objects as keys in hash tables).     *     * @return remote object hashcode     * @see		java.util.Hashtable     * @since JDK1.1     */    int remoteHashCode();    /**     * Compares two remote objects for equality.     * Returns a boolean that indicates whether this remote object is     * equivalent to the specified Object. This method is used when a     * remote object is stored in a hashtable.     * @param	obj	the Object to compare with     * @return	true if these Objects are equal; false otherwise.     * @see		java.util.Hashtable     * @since JDK1.1     */    boolean remoteEquals(RemoteRef obj);    /**     * Returns a String that represents the reference of this remote     * object.     * @return string representing remote object reference     * @since JDK1.1     */    String remoteToString();	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -