home *** CD-ROM | disk | FTP | other *** search
- package java.rmi;
-
- import java.net.MalformedURLException;
- import java.rmi.registry.LocateRegistry;
- import java.rmi.registry.Registry;
-
- public final class Naming {
- private Naming() {
- }
-
- public static Remote lookup(String var0) throws NotBoundException, MalformedURLException, RemoteException {
- ParsedNamingURL var1 = parseURL(var0);
- Registry var2 = getRegistry(var1);
- return (Remote)(var1.name == null ? var2 : var2.lookup(var1.name));
- }
-
- public static void bind(String var0, Remote var1) throws AlreadyBoundException, MalformedURLException, RemoteException {
- ParsedNamingURL var2 = parseURL(var0);
- Registry var3 = getRegistry(var2);
- if (var1 == null) {
- throw new NullPointerException("cannot bind to null");
- } else {
- var3.bind(var2.name, var1);
- }
- }
-
- public static void unbind(String var0) throws RemoteException, NotBoundException, MalformedURLException {
- ParsedNamingURL var1 = parseURL(var0);
- Registry var2 = getRegistry(var1);
- var2.unbind(var1.name);
- }
-
- public static void rebind(String var0, Remote var1) throws RemoteException, MalformedURLException {
- ParsedNamingURL var2 = parseURL(var0);
- Registry var3 = getRegistry(var2);
- if (var1 == null) {
- throw new NullPointerException("cannot bind to null");
- } else {
- var3.rebind(var2.name, var1);
- }
- }
-
- public static String[] list(String var0) throws RemoteException, MalformedURLException {
- ParsedNamingURL var1 = parseURL(var0);
- Registry var2 = getRegistry(var1);
- String var3 = "rmi:";
- if (var1.port > 0 || !var1.host.equals("")) {
- var3 = var3 + "//" + var1.host;
- }
-
- if (var1.port > 0) {
- var3 = var3 + ":" + var1.port;
- }
-
- var3 = var3 + "/";
- String[] var4 = var2.list();
-
- for(int var5 = 0; var5 < var4.length; ++var5) {
- var4[var5] = var3 + var4[var5];
- }
-
- return var4;
- }
-
- private static Registry getRegistry(ParsedNamingURL var0) throws RemoteException {
- return LocateRegistry.getRegistry(var0.host, var0.port);
- }
-
- private static ParsedNamingURL parseURL(String var0) throws MalformedURLException {
- ParsedNamingURL var1 = new ParsedNamingURL((1)null);
- int var2 = -1;
- if (var0.startsWith("rmi:")) {
- var0 = var0.substring(4);
- }
-
- if (var0.indexOf(35) >= 0) {
- throw new MalformedURLException("Invalid character, '#', in URL: " + var0);
- } else {
- int var3 = var0.indexOf(58);
- if (var3 >= 0 && var3 < var0.indexOf(47)) {
- throw new MalformedURLException("invalid protocol: " + var0.substring(0, var3));
- } else {
- if (var0.startsWith("//")) {
- int var5 = var0.indexOf("/", 2);
- if (var5 >= 0) {
- var2 = var5 + 1;
- } else {
- var5 = var0.length();
- var2 = var5;
- }
-
- int var6 = var0.indexOf(":", 2);
- if (var6 > 1 && var6 < var5) {
- try {
- var1.port = Integer.parseInt(var0.substring(var6 + 1, var5));
- } catch (NumberFormatException var8) {
- throw new MalformedURLException("invalid port number: " + var0);
- }
- }
-
- int var7;
- if (var6 >= 2) {
- var7 = var6;
- } else {
- var7 = var5;
- }
-
- var1.host = var0.substring(2, var7);
- } else if (var0.startsWith("/")) {
- var2 = 1;
- } else {
- var2 = 0;
- }
-
- var1.name = var0.substring(var2);
- if (var1.name.equals("") || var1.name.equals("/")) {
- var1.name = null;
- }
-
- return var1;
- }
- }
- }
- }
-