refactored org to uk
[vamsas.git] / src / org / vamsas / client / VorbaId.java
1 /*
2  * Created on 12-Sep-2005
3  *
4  * TODO To change the template for this generated file go to
5  * Window - Preferences - Java - Code Style - Code Templates
6  */
7 package org.vamsas.client;
8
9 /**
10  * The unique reference id for a Vamsas document Vobject,
11  * used by applications to refer to the vamsas Vobject
12  * within their own data space in the vamsas document.
13  * TODO: decide if VorbaId should contain a reference 
14  * to either the IVorbaIdFactory that made it or the 
15  * IClient that defines the session (it might be 
16  * convenient).
17  * @author jimp
18  */
19 public class VorbaId {
20   protected String id;
21   protected VorbaId() {
22     super();
23   }
24   private VorbaId(String Id) {
25     super();
26     id = Id;
27   }
28   /**
29    * 
30    * @param vorbaObject the source of vorba Ids
31    * @param vobject the Vobject to be registered with a new vorba id
32    * @return
33    */
34   protected static VorbaId newId(IVorbaIdFactory vorbaObject, Vobject vobject) {
35     // Make unique id from appSpace info in vorbaObject
36     synchronized (vorbaObject) {
37       vobject.vorbaId=vorbaObject.makeVorbaId(vobject);
38       return vobject.vorbaId;
39     }
40   }
41   protected static VorbaId newId(String id) {
42     return new VorbaId(id);
43   }
44   /**
45    * @return Returns the id.
46    */
47   public String getId() {
48     return id;
49   }
50   /* (non-Javadoc)
51    * @see java.lang.Object#equals(java.lang.Object)
52    */
53   public boolean equals(Object obj) {
54     if (obj instanceof String)
55       return id.equals(obj);
56     else if (obj instanceof VorbaId)
57       return id.equals(((VorbaId)obj).id);
58     return false;
59   }
60   /* (non-Javadoc)
61    * @see java.lang.Object#hashCode()
62    */
63   public int hashCode() {
64     return id.hashCode();
65   }
66   /* (non-Javadoc)
67    * @see java.lang.Object#toString()
68    */
69   public String toString() {
70     return id;
71   }
72   
73 }