1 /*
   2  * Copyright (c) 1996, 2004, 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 package java.rmi.server;
  26 
  27 import java.rmi.Remote;
  28 
  29 /**
  30  * The <code>Skeleton</code> interface is used solely by the RMI
  31  * implementation.
  32  *
  33  * <p> Every version 1.1 (and version 1.1 compatible skeletons generated in
  34  * 1.2 using <code>rmic -vcompat</code>) skeleton class generated by the rmic
  35  * stub compiler implements this interface. A skeleton for a remote object is
  36  * a server-side entity that dispatches calls to the actual remote object
  37  * implementation.
  38  *
  39  * @author  Ann Wollrath
  40  * @since   JDK1.1
  41  * @deprecated no replacement.  Skeletons are no longer required for remote
  42  * method calls in the Java 2 platform v1.2 and greater.
  43  */
  44 @Deprecated
  45 public interface Skeleton {
  46     /**
  47      * Unmarshals arguments, calls the actual remote object implementation,
  48      * and marshals the return value or any exception.
  49      *
  50      * @param obj remote implementation to dispatch call to
  51      * @param theCall object representing remote call
  52      * @param opnum operation number
  53      * @param hash stub/skeleton interface hash
  54      * @exception java.lang.Exception if a general exception occurs.
  55      * @since JDK1.1
  56      * @deprecated no replacement
  57      */
  58     @Deprecated
  59     void dispatch(Remote obj, RemoteCall theCall, int opnum, long hash)
  60         throws Exception;
  61 
  62     /**
  63      * Returns the operations supported by the skeleton.
  64      * @return operations supported by skeleton
  65      * @since JDK1.1
  66      * @deprecated no replacement
  67      */
  68     @Deprecated
  69     Operation[] getOperations();
  70 }