1 package org.sapia.ubik.rmi.server.command; 2 3 import org.sapia.ubik.net.ServerAddress; 4 import org.sapia.ubik.rmi.server.VmId; 5 6 7 17 public class Destination { 18 private ServerAddress _addr; 19 private VmId _vmId; 20 private int _hashCode; 21 22 public Destination(ServerAddress addr, VmId vmId) { 23 _addr = addr; 24 _vmId = vmId; 25 _hashCode = _vmId.toString().hashCode(); 26 } 27 28 33 public ServerAddress getServerAddress() { 34 return _addr; 35 } 36 37 42 public VmId getVmId() { 43 return _vmId; 44 } 45 46 public int hashCode() { 47 return _hashCode; 48 } 49 50 public boolean equals(Object obj) { 51 try { 52 Destination other = (Destination) obj; 53 54 return (_addr.hashCode() == other._addr.hashCode()) && 55 (_vmId.hashCode() == other._vmId.hashCode()); 56 } catch (ClassCastException e) { 57 return false; 58 } 59 } 60 61 public String toString() { 62 return "[ vmId=" + _vmId + ", address=" + _addr + " ]"; 63 } 64 } 65 | Popular Tags |