summaryrefslogtreecommitdiffstats
path: root/java/org/odmg/Implementation.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/org/odmg/Implementation.java')
-rw-r--r--java/org/odmg/Implementation.java113
1 files changed, 113 insertions, 0 deletions
diff --git a/java/org/odmg/Implementation.java b/java/org/odmg/Implementation.java
new file mode 100644
index 0000000..f2d2e6f
--- /dev/null
+++ b/java/org/odmg/Implementation.java
@@ -0,0 +1,113 @@
+/*
+* This file is part of rasdaman community.
+*
+* Rasdaman community is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* Rasdaman community is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+*
+* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+rasdaman GmbH.
+*
+* For more information please see <http://www.rasdaman.org>
+* or contact Peter Baumann via <baumann@rasdaman.com>.
+*/
+package org.odmg;
+
+/**
+* The factory interface for a particular ODMG implementation.
+* Each ODMG implementation will have a class that implements this interface.
+* @author David Jordan (as Java Editor of the Object Data Management Group)
+* @version ODMG 3.0
+*/
+
+public interface Implementation {
+/**
+* Create a <code>Transaction</code> object and associate it with the current thread.
+* @return The newly created <code>Transaction</code> instance.
+* @see org.odmg.Transaction
+*/
+ public Transaction newTransaction();
+
+/**
+* Get the current <code>Transaction</code> for the thread.
+* @return The current <code>Transaction</code> object or null if there is none.
+* @see org.odmg.Transaction
+*/
+ public Transaction currentTransaction();
+
+/**
+* Create a new <code>Database</code> object.
+* @return The new <code>Database</code> object.
+* @see org.odmg.Database
+*/
+ public Database newDatabase();
+
+/**
+* Create a new <code>OQLQuery</code> object.
+* @return The new <code>OQLQuery</code> object.
+* @see org.odmg.OQLQuery
+*/
+ public OQLQuery newOQLQuery();
+
+/**
+* Create a new <code>DList</code> object.
+* @return The new <code>DList</code> object.
+* @see org.odmg.DList
+*/
+ public DList newDList();
+
+/**
+* Create a new <code>DBag</code> object.
+* @return The new <code>DBag</code> object.
+* @see org.odmg.DBag
+*/
+ public DBag newDBag();
+
+/**
+* Create a new <code>DSet</code> object.
+* @return The new <code>DSet</code> object.
+* @see org.odmg.DSet
+*/
+ public DSet newDSet();
+
+/**
+* Create a new <code>DArray</code> object,
+* <BR><I> not yet available in RasDaMan. </BR></I>
+* @return The new <code>DArray</code> object.
+* @see org.odmg.DArray
+*/
+ public DArray newDArray();
+
+/**
+* Create a new <code>DMap</code> object,
+* <BR><I> not yet available in RasDaMan. </BR></I>
+* @return The new <code>DMap</code> object.
+* @see org.odmg.DMap
+*/
+ public DMap newDMap();
+
+/**
+* Get a <code>String</code> representation of the object's identifier.
+* @param obj The object whose identifier is being accessed.
+* @return The object's identifier in the form of a String
+*/
+ public String getObjectId(Object obj);
+
+/**
+* Get the <code>Database</code> that contains the object <code>obj</code>,
+* <BR><I> not yet available in RasDaMan. </BR></I>
+* @param obj The object.
+* @return The <code>Database</code> that contains the object.
+*/
+ public Database getDatabase(Object obj);
+}
+