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