View Javadoc

1   package org.odmg;
2   
3   
4   import org.apache.ojb.odmg.oql.EnhancedOQLQuery;
5   
6   
7   /**
8    * The factory interface for a particular ODMG implementation.
9    * Each ODMG implementation will have a class that implements this interface.
10   * @author	David Jordan (as Java Editor of the Object Data Management Group)
11   * @version ODMG 3.0
12   */
13  
14  public interface Implementation
15  {
16      /**
17       * Create a <code>Transaction</code> object and associate it with the current thread.
18       * @return The newly created <code>Transaction</code> instance.
19       * @see org.odmg.Transaction
20       */
21      public Transaction newTransaction();
22  
23      /**
24       * Get the current <code>Transaction</code> for the thread.
25       * @return The current <code>Transaction</code> object or null if there is none.
26       * @see org.odmg.Transaction
27       */
28      public Transaction currentTransaction();
29  
30      /**
31       * Create a new <code>Database</code> object.
32       * @return The new <code>Database</code> object.
33       * @see org.odmg.Database
34       */
35      public Database newDatabase();
36  
37      /**
38       * Create a new <code>OQLQuery</code> object.
39       * @return The new <code>OQLQuery</code> object.
40       * @see org.odmg.OQLQuery
41       */
42      public EnhancedOQLQuery newOQLQuery();
43  
44      /**
45       * Create a new <code>DList</code> object.
46       * @return The new <code>DList</code> object.
47       * @see org.odmg.DList
48       */
49      public DList newDList();
50  
51      /**
52       * Create a new <code>DBag</code> object.
53       * @return The new <code>DBag</code> object.
54       * @see org.odmg.DBag
55       */
56      public DBag newDBag();
57  
58      /**
59       * Create a new <code>DSet</code> object.
60       * @return The new <code>DSet</code> object.
61       * @see org.odmg.DSet
62       */
63      public DSet newDSet();
64  
65      /**
66       * Create a new <code>DArray</code> object.
67       * @return The new <code>DArray</code> object.
68       * @see org.odmg.DArray
69       */
70      public DArray newDArray();
71  
72      /**
73       * Create a new <code>DMap</code> object.
74       * @return	The new <code>DMap</code> object.
75       * @see org.odmg.DMap
76       */
77      public DMap newDMap();
78  
79      /**
80       * Get a <code>String</code> representation of the object's identifier.
81       * @param obj The object whose identifier is being accessed.
82       * @return The object's identifier in the form of a String
83       */
84      public String getObjectId(Object obj);
85  
86      /**
87       * Get the <code>Database</code> that contains the object <code>obj</code>.
88       * @param obj The object.
89       * @return The <code>Database</code> that contains the object.
90       */
91      public Database getDatabase(Object obj);
92  }