2 * Created on 12-Sep-2005
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
7 package uk.ac.vamsas.client;
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
19 public class VorbaId {
24 private VorbaId(String Id) {
30 * @param vorbaObject the source of vorba Ids
31 * @param vobject the Vobject to be registered with a new vorba id
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;
42 * protected VorbaId constructor used when turning XML ID strings into vorba IDs
44 * @return VorbaId object or null if string was null.
46 protected static VorbaId newId(String id) {
47 return (id==null) ? null : new VorbaId(id);
50 * @return Returns the id.
52 public String getId() {
56 * @see java.lang.Object#equals(java.lang.Object)
58 public boolean equals(Object obj) {
59 if (obj instanceof String)
60 return id.equals(obj);
61 else if (obj instanceof VorbaId)
62 return id.equals(((VorbaId)obj).id);
66 * @see java.lang.Object#hashCode()
68 public int hashCode() {
72 * @see java.lang.Object#toString()
74 public String toString() {