1 package xuml.tools.diagram;
2
3 import xuml.tools.datastore.DatastoreText;
4 import xuml.tools.datastore.DatastoreTextFactory;
5 import xuml.tools.datastore.memory.DatastoreTextFactoryMemory;
6
7 public class Context {
8
9 private static Context instance;
10
11 public synchronized static Context instance() {
12 if (instance == null)
13 instance = new Context();
14 return instance;
15 }
16
17 private Context() {
18
19
20 }
21
22 private DatastoreTextFactory datastoreFactory = new DatastoreTextFactoryMemory();
23 private DatastoreText datastore;
24
25 public void setDatastoreFactory(DatastoreTextFactory datastoreFactory) {
26 this.datastoreFactory = datastoreFactory;
27 }
28
29 public synchronized DatastoreText getDatastore() {
30 if (datastore == null)
31 datastore = datastoreFactory.create();
32 return datastore;
33 }
34 }