View Javadoc

1   /*
2    * Copyright 2004 Charles Blaxland
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package mnemosyne.guid;
17  
18  import java.rmi.server.UID;
19  
20  /***
21   * A GUID implementation based on java.rmi.server.UID.
22   *
23   * These GUIDs are unique over time with respect to the host they are
24   * generated on as long as the host requires more than one
25   * millisecond to reboot and its system clock is never set backward.
26   *
27   * They are NOT unique across different hosts.
28   *
29   * @version $Id: RmiUidGuid.java,v 1.1.1.1 2004/08/07 06:41:18 charlesblaxland Exp $
30   */
31  public class RmiUidGuid implements Guid
32  {
33      private UID uid;
34  
35      protected RmiUidGuid(UID uid)
36      {
37          this.uid = uid;
38      }
39  
40      public boolean equals(Object obj)
41      {
42          if (obj instanceof RmiUidGuid)
43          {
44              RmiUidGuid otherGuid = (RmiUidGuid) obj;
45              return uid.equals(otherGuid.uid);
46          }
47          else
48          {
49              return false;
50          }
51      }
52  
53      public int hashCode()
54      {
55          return uid.hashCode();
56      }
57  
58      public String toString()
59      {
60          return uid.toString();
61      }
62  }