home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / rmi / server / RemoteProxy.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.9 KB  |  151 lines

  1. package sun.rmi.server;
  2.  
  3. import java.lang.reflect.Constructor;
  4. import java.lang.reflect.InvocationTargetException;
  5. import java.rmi.Remote;
  6. import java.rmi.RemoteException;
  7. import java.rmi.StubNotFoundException;
  8. import java.rmi.server.LogStream;
  9. import java.rmi.server.ObjID;
  10. import java.rmi.server.RMIClientSocketFactory;
  11. import java.rmi.server.RMIServerSocketFactory;
  12. import java.rmi.server.RemoteRef;
  13. import java.rmi.server.RemoteStub;
  14. import java.rmi.server.Skeleton;
  15. import java.rmi.server.SkeletonNotFoundException;
  16. import java.security.AccessController;
  17. import sun.rmi.transport.LiveRef;
  18. import sun.rmi.transport.tcp.TCPEndpoint;
  19. import sun.security.action.GetPropertyAction;
  20.  
  21. public final class RemoteProxy extends RemoteStub {
  22.    static int logLevel = LogStream.parseLevel(getLogLevel());
  23.    private static Class[] stubConsParamTypes;
  24.    // $FF: synthetic field
  25.    static Class class$java$rmi$server$RemoteRef;
  26.    // $FF: synthetic field
  27.    static Class class$java$rmi$Remote;
  28.  
  29.    private static String getLogLevel() {
  30.       return (String)AccessController.doPrivileged(new GetPropertyAction("sun.rmi.server.logLevel"));
  31.    }
  32.  
  33.    private RemoteProxy() {
  34.    }
  35.  
  36.    public static RemoteStub getStub(Remote var0, RemoteRef var1) throws StubNotFoundException {
  37.       Object var2 = null;
  38.  
  39.       try {
  40.          Class var5 = getRemoteClass(var0.getClass());
  41.          return getStub(var5.getName(), var5, var1);
  42.       } catch (ClassNotFoundException var4) {
  43.          throw new StubNotFoundException("Object does not implement an interface that extends java.rmi.Remote: " + var0.getClass().getName());
  44.       }
  45.    }
  46.  
  47.    public static RemoteStub getStub(String var0, RemoteRef var1) throws StubNotFoundException {
  48.       return getStub(var0, (Class)null, var1);
  49.    }
  50.  
  51.    public static RemoteStub getStub(String var0, Class var1, RemoteRef var2) throws StubNotFoundException {
  52.       String var3 = var0 + "_Stub";
  53.       Object var4 = null;
  54.  
  55.       try {
  56.          Class var5 = loadClassFromClass(var3, var1);
  57.          Constructor var6 = var5.getConstructor(stubConsParamTypes);
  58.          RemoteStub var17 = (RemoteStub)var6.newInstance(var2);
  59.          return var17;
  60.       } catch (ClassNotFoundException var11) {
  61.          throw new StubNotFoundException("Stub class not found: " + var3, var11);
  62.       } catch (NoSuchMethodException var12) {
  63.          throw new StubNotFoundException("Stub class missing constructor: " + var3, var12);
  64.       } catch (InstantiationException var13) {
  65.          throw new StubNotFoundException("Can't create instance of stub class: " + var3, var13);
  66.       } catch (IllegalAccessException var14) {
  67.          throw new StubNotFoundException("Stub class constructor not public: " + var3, var14);
  68.       } catch (InvocationTargetException var15) {
  69.          throw new StubNotFoundException("Exception creating instance of stub class: " + var3, var15);
  70.       } catch (ClassCastException var16) {
  71.          throw new StubNotFoundException("Stub class not instance of RemoteStub: " + var3, var16);
  72.       }
  73.    }
  74.  
  75.    public static RemoteStub getStub(String var0, int var1, String var2, int var3) throws RemoteException {
  76.       ObjID var4 = new ObjID(var1);
  77.       TCPEndpoint var5 = new TCPEndpoint(var2, var3);
  78.       LiveRef var6 = new LiveRef(var4, var5, false);
  79.       return getStub((String)var0, new UnicastRef(var6));
  80.    }
  81.  
  82.    public static RemoteStub getStub(String var0, int var1, String var2, int var3, RMIClientSocketFactory var4) throws RemoteException {
  83.       ObjID var5 = new ObjID(var1);
  84.       TCPEndpoint var6 = new TCPEndpoint(var2, var3, var4, (RMIServerSocketFactory)null);
  85.       LiveRef var7 = new LiveRef(var5, var6, false);
  86.       return getStub((String)var0, new UnicastRef2(var7));
  87.    }
  88.  
  89.    public static Skeleton getSkeleton(Remote var0) throws SkeletonNotFoundException {
  90.       Class var1;
  91.       try {
  92.          var1 = getRemoteClass(var0.getClass());
  93.       } catch (ClassNotFoundException var11) {
  94.          throw new SkeletonNotFoundException("Object does not implement an interface that extends java.rmi.Remote: " + var0.getClass().getName());
  95.       }
  96.  
  97.       String var2 = var1.getName() + "_Skel";
  98.  
  99.       try {
  100.          Class var3 = loadClassFromClass(var2, var1);
  101.          return (Skeleton)var3.newInstance();
  102.       } catch (ClassNotFoundException var7) {
  103.          throw new SkeletonNotFoundException("Skeleton class not found: " + var2, var7);
  104.       } catch (InstantiationException var8) {
  105.          throw new SkeletonNotFoundException("Can't create skeleton: " + var2, var8);
  106.       } catch (IllegalAccessException var9) {
  107.          throw new SkeletonNotFoundException("No public constructor: " + var2, var9);
  108.       } catch (ClassCastException var10) {
  109.          throw new SkeletonNotFoundException("Skeleton not of correct class: " + var2, var10);
  110.       }
  111.    }
  112.  
  113.    private static Class loadClassFromClass(String var0, Class var1) throws ClassNotFoundException {
  114.       ClassLoader var2 = null;
  115.       if (var1 != null) {
  116.          var2 = var1.getClassLoader();
  117.       }
  118.  
  119.       return var2 != null ? var2.loadClass(var0) : Class.forName(var0);
  120.    }
  121.  
  122.    static Class getRemoteClass(Class var0) throws ClassNotFoundException {
  123.       while(var0 != null) {
  124.          Class[] var1 = var0.getInterfaces();
  125.  
  126.          for(int var2 = var1.length - 1; var2 >= 0; --var2) {
  127.             if ((class$java$rmi$Remote == null ? (class$java$rmi$Remote = class$("java.rmi.Remote")) : class$java$rmi$Remote).isAssignableFrom(var1[var2])) {
  128.                return var0;
  129.             }
  130.          }
  131.  
  132.          var0 = var0.getSuperclass();
  133.       }
  134.  
  135.       throw new ClassNotFoundException("class does not implement java.rmi.Remote");
  136.    }
  137.  
  138.    // $FF: synthetic method
  139.    static Class class$(String var0) {
  140.       try {
  141.          return Class.forName(var0);
  142.       } catch (ClassNotFoundException var2) {
  143.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  144.       }
  145.    }
  146.  
  147.    static {
  148.       stubConsParamTypes = new Class[]{class$java$rmi$server$RemoteRef == null ? (class$java$rmi$server$RemoteRef = class$("java.rmi.server.RemoteRef")) : class$java$rmi$server$RemoteRef};
  149.    }
  150. }
  151.