home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / java / rmi / Naming.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.7 KB  |  125 lines

  1. package java.rmi;
  2.  
  3. import java.net.MalformedURLException;
  4. import java.rmi.registry.LocateRegistry;
  5. import java.rmi.registry.Registry;
  6.  
  7. public final class Naming {
  8.    private Naming() {
  9.    }
  10.  
  11.    public static Remote lookup(String var0) throws NotBoundException, MalformedURLException, RemoteException {
  12.       ParsedNamingURL var1 = parseURL(var0);
  13.       Registry var2 = getRegistry(var1);
  14.       return (Remote)(var1.name == null ? var2 : var2.lookup(var1.name));
  15.    }
  16.  
  17.    public static void bind(String var0, Remote var1) throws AlreadyBoundException, MalformedURLException, RemoteException {
  18.       ParsedNamingURL var2 = parseURL(var0);
  19.       Registry var3 = getRegistry(var2);
  20.       if (var1 == null) {
  21.          throw new NullPointerException("cannot bind to null");
  22.       } else {
  23.          var3.bind(var2.name, var1);
  24.       }
  25.    }
  26.  
  27.    public static void unbind(String var0) throws RemoteException, NotBoundException, MalformedURLException {
  28.       ParsedNamingURL var1 = parseURL(var0);
  29.       Registry var2 = getRegistry(var1);
  30.       var2.unbind(var1.name);
  31.    }
  32.  
  33.    public static void rebind(String var0, Remote var1) throws RemoteException, MalformedURLException {
  34.       ParsedNamingURL var2 = parseURL(var0);
  35.       Registry var3 = getRegistry(var2);
  36.       if (var1 == null) {
  37.          throw new NullPointerException("cannot bind to null");
  38.       } else {
  39.          var3.rebind(var2.name, var1);
  40.       }
  41.    }
  42.  
  43.    public static String[] list(String var0) throws RemoteException, MalformedURLException {
  44.       ParsedNamingURL var1 = parseURL(var0);
  45.       Registry var2 = getRegistry(var1);
  46.       String var3 = "rmi:";
  47.       if (var1.port > 0 || !var1.host.equals("")) {
  48.          var3 = var3 + "//" + var1.host;
  49.       }
  50.  
  51.       if (var1.port > 0) {
  52.          var3 = var3 + ":" + var1.port;
  53.       }
  54.  
  55.       var3 = var3 + "/";
  56.       String[] var4 = var2.list();
  57.  
  58.       for(int var5 = 0; var5 < var4.length; ++var5) {
  59.          var4[var5] = var3 + var4[var5];
  60.       }
  61.  
  62.       return var4;
  63.    }
  64.  
  65.    private static Registry getRegistry(ParsedNamingURL var0) throws RemoteException {
  66.       return LocateRegistry.getRegistry(var0.host, var0.port);
  67.    }
  68.  
  69.    private static ParsedNamingURL parseURL(String var0) throws MalformedURLException {
  70.       ParsedNamingURL var1 = new ParsedNamingURL((1)null);
  71.       int var2 = -1;
  72.       if (var0.startsWith("rmi:")) {
  73.          var0 = var0.substring(4);
  74.       }
  75.  
  76.       if (var0.indexOf(35) >= 0) {
  77.          throw new MalformedURLException("Invalid character, '#', in URL: " + var0);
  78.       } else {
  79.          int var3 = var0.indexOf(58);
  80.          if (var3 >= 0 && var3 < var0.indexOf(47)) {
  81.             throw new MalformedURLException("invalid protocol: " + var0.substring(0, var3));
  82.          } else {
  83.             if (var0.startsWith("//")) {
  84.                int var5 = var0.indexOf("/", 2);
  85.                if (var5 >= 0) {
  86.                   var2 = var5 + 1;
  87.                } else {
  88.                   var5 = var0.length();
  89.                   var2 = var5;
  90.                }
  91.  
  92.                int var6 = var0.indexOf(":", 2);
  93.                if (var6 > 1 && var6 < var5) {
  94.                   try {
  95.                      var1.port = Integer.parseInt(var0.substring(var6 + 1, var5));
  96.                   } catch (NumberFormatException var8) {
  97.                      throw new MalformedURLException("invalid port number: " + var0);
  98.                   }
  99.                }
  100.  
  101.                int var7;
  102.                if (var6 >= 2) {
  103.                   var7 = var6;
  104.                } else {
  105.                   var7 = var5;
  106.                }
  107.  
  108.                var1.host = var0.substring(2, var7);
  109.             } else if (var0.startsWith("/")) {
  110.                var2 = 1;
  111.             } else {
  112.                var2 = 0;
  113.             }
  114.  
  115.             var1.name = var0.substring(var2);
  116.             if (var1.name.equals("") || var1.name.equals("/")) {
  117.                var1.name = null;
  118.             }
  119.  
  120.             return var1;
  121.          }
  122.       }
  123.    }
  124. }
  125.