00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.core;
00032
00033 import org.apache.log4j.Logger;
00034 import org.objectweb.proactive.core.util.log.Loggers;
00035 import org.objectweb.proactive.core.util.log.ProActiveLogger;
00036
00037
00050 public class UniqueID implements java.io.Serializable {
00051 private java.rmi.server.UID id;
00052 private java.rmi.dgc.VMID vmID;
00053
00054
00055 private static java.rmi.dgc.VMID uniqueVMID = new java.rmi.dgc.VMID();
00056 protected static Logger logger = ProActiveLogger.getLogger(Loggers.CORE);
00057
00058
00059
00060
00061
00065 public UniqueID() {
00066 this.id = new java.rmi.server.UID();
00067 this.vmID = uniqueVMID;
00068 }
00069
00070
00071
00072
00073
00078 public static java.rmi.dgc.VMID getCurrentVMID() {
00079 return uniqueVMID;
00080 }
00081
00082
00083
00084
00085
00092 public java.rmi.dgc.VMID getVMID() {
00093 return vmID;
00094 }
00095
00100 public java.rmi.server.UID getUID() {
00101 return id;
00102 }
00103
00108 public String toString() {
00109 if (logger.isDebugEnabled()) {
00110 return "<" +
00111 vmID.toString().substring(vmID.toString().length() - 9,
00112 vmID.toString().length() - 6) + ">";
00113 } else {
00114 return "" + id + " " + vmID;
00115 }
00116 }
00117
00122 public int hashCode() {
00123 return id.hashCode() + vmID.hashCode();
00124 }
00125
00130 public boolean equals(Object o) {
00131
00132 if (o instanceof UniqueID) {
00133 return ((id.equals(((UniqueID) o).id)) &&
00134 (vmID.equals(((UniqueID) o).vmID)));
00135 } else {
00136 return false;
00137 }
00138 }
00139
00143 public void echo() {
00144 logger.info("UniqueID The Id is " + id + " and the address is " + vmID);
00145 }
00146 }