separate some interface methods into abstract classes to enforce access control
[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 object,
11  * used by applications to refer to the vamsas object
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   private VorbaId(String Id) {
22     id = Id;
23   }
24   protected static VorbaId newId(IVorbaIdFactory vorbaObject) {
25     // Make unique id from appSpace info in vorbaObject
26     synchronized (vorbaObject) {
27       return vorbaObject.makeVorbaId();
28     }
29   }
30   /**
31    * @return Returns the id.
32    */
33   public String getId() {
34     return id;
35   }
36 }