View Javadoc

1   package net.sf.cantina;
2   
3   import net.sf.cantina.exceptions.ObjectNotFoundException;
4   import net.sf.cantina.exceptions.DuplicateKeyException;
5   
6   import java.util.Collection;
7   
8   
9   /***
10   * An object that knows how to save/delete/load
11   * stuff
12   */
13  public abstract class DataSource
14  {
15    public static DataSource instance;
16  
17    public static DataSource getInstance()
18    {
19      return instance;
20    }
21  
22    public abstract void createDocument(String documentId)
23      throws DuplicateKeyException, Exception;
24  
25    public abstract Document loadDocument(String documentId)
26      throws ObjectNotFoundException, Exception;
27  
28    public abstract void saveDocument(Document d)
29      throws Exception;
30  
31    public abstract void removeDocument(String documentId)
32      throws Exception;
33  
34    public abstract Realm loadRealm(String name)
35      throws ObjectNotFoundException, Exception;
36  
37    public abstract void saveRealm(Realm r) throws Exception;
38  
39    public abstract void createRealm(String name) throws DuplicateKeyException,Exception;
40  
41    public abstract void removeRealm(String name) throws Exception;
42  
43    public abstract Collection findAllRealms() throws Exception;
44  
45    public abstract Collection selectAllDocumentIds() throws Exception;
46  
47    /***
48     * Close the database session.
49     */
50    
51    public abstract void closeSession();
52  
53    /***
54     * Releases all database resources.
55     */
56  
57    public abstract void release();
58  
59  }
60