home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / rmi / dgc / VMID.class (.txt) < prev   
Encoding:
Java Class File  |  1998-04-23  |  1.6 KB  |  87 lines

  1. package java.rmi.dgc;
  2.  
  3. import java.io.Serializable;
  4. import java.net.InetAddress;
  5. import java.rmi.server.UID;
  6.  
  7. public final class VMID implements Serializable {
  8.    private static byte[] localAddr;
  9.    private static boolean localAddrUnique;
  10.    private byte[] addr;
  11.    private UID uid;
  12.    private static final long serialVersionUID = -538642295484486218L;
  13.  
  14.    public VMID() {
  15.       this.addr = localAddr;
  16.       this.uid = new UID();
  17.    }
  18.  
  19.    public static boolean isUnique() {
  20.       return localAddrUnique;
  21.    }
  22.  
  23.    public int hashCode() {
  24.       return this.uid.hashCode();
  25.    }
  26.  
  27.    public boolean equals(Object var1) {
  28.       if (var1 != null && var1 instanceof VMID) {
  29.          VMID var2 = (VMID)var1;
  30.          if (!this.uid.equals(var2.uid)) {
  31.             return false;
  32.          } else if (this.addr == null ^ var2.addr == null) {
  33.             return false;
  34.          } else {
  35.             if (this.addr != null) {
  36.                if (this.addr.length != var2.addr.length) {
  37.                   return false;
  38.                }
  39.  
  40.                for(int var3 = 0; var3 < this.addr.length; ++var3) {
  41.                   if (this.addr[var3] != var2.addr[var3]) {
  42.                      return false;
  43.                   }
  44.                }
  45.             }
  46.  
  47.             return true;
  48.          }
  49.       } else {
  50.          return false;
  51.       }
  52.    }
  53.  
  54.    public String toString() {
  55.       StringBuffer var1 = new StringBuffer();
  56.       if (this.addr != null) {
  57.          for(int var2 = 0; var2 < this.addr.length; ++var2) {
  58.             if (var2 > 0) {
  59.                var1.append('.');
  60.             }
  61.  
  62.             var1.append(Integer.toString(this.addr[var2] & 255, 10));
  63.          }
  64.       }
  65.  
  66.       var1.append(':');
  67.       var1.append(this.uid.toString());
  68.       return var1.toString();
  69.    }
  70.  
  71.    static {
  72.       try {
  73.          InetAddress var0 = InetAddress.getLocalHost();
  74.          byte[] var1 = var0.getAddress();
  75.          localAddr = var1;
  76.          if (var1 != null && (var1[0] | var1[1] | var1[2] | var1[3]) != 0 && (var1[0] != 127 || var1[1] != 0 || var1[2] != 0 || var1[3] != 1)) {
  77.             localAddrUnique = true;
  78.          } else {
  79.             localAddrUnique = false;
  80.          }
  81.       } catch (Exception var2) {
  82.          localAddr = null;
  83.          localAddrUnique = false;
  84.       }
  85.    }
  86. }
  87.