/* * 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 . * * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / rasdaman GmbH. * * For more information please see * or contact Peter Baumann via . */ 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 Transaction object and associate it with the current thread. * @return The newly created Transaction instance. * @see org.odmg.Transaction */ public Transaction newTransaction(); /** * Get the current Transaction for the thread. * @return The current Transaction object or null if there is none. * @see org.odmg.Transaction */ public Transaction currentTransaction(); /** * Create a new Database object. * @return The new Database object. * @see org.odmg.Database */ public Database newDatabase(); /** * Create a new OQLQuery object. * @return The new OQLQuery object. * @see org.odmg.OQLQuery */ public OQLQuery newOQLQuery(); /** * Create a new DList object. * @return The new DList object. * @see org.odmg.DList */ public DList newDList(); /** * Create a new DBag object. * @return The new DBag object. * @see org.odmg.DBag */ public DBag newDBag(); /** * Create a new DSet object. * @return The new DSet object. * @see org.odmg.DSet */ public DSet newDSet(); /** * Create a new DArray object, *
not yet available in RasDaMan.
* @return The new DArray object. * @see org.odmg.DArray */ public DArray newDArray(); /** * Create a new DMap object, *
not yet available in RasDaMan.
* @return The new DMap object. * @see org.odmg.DMap */ public DMap newDMap(); /** * Get a String 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 Database that contains the object obj, *
not yet available in RasDaMan.
* @param obj The object. * @return The Database that contains the object. */ public Database getDatabase(Object obj); }