* @version 0.3.0 * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.mxchange.org * * This program 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. * * This program 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 this program. If not, see . */ interface FrameworkDatabaseInterface extends FrameworkInterface { /** * Saves a whole object by serializing it entirely or some specifyable * parts. Specifying parts must be done before this method is called. If * it is not done this method will serialize the whole object. * * @param $object An instance to the object we want to save * @return void * @see limitObject(ObjectLimits) limitObject */ function saveObject ($object); /** * Analyses if a unique ID has already been used or not. This method does * only pass the given ID through to the "real" database layer. * * @param $uniqueID A unique ID number which shall be checked * before it will be used * @param $inConstructor If called from a constructor or from * somewhere else * @return $isUnused true = The unique ID was not found in the database, * false = It is already in use by an other object * @throws NullPointerException If $dbInstance is null * @throws NoObjectException If $dbInstance is not an object * @throws MissingMethodException If the required method * isUniqueIdUsed() was not found */ function isUniqueIdUsed ($uniqueID, $inConstructor = false); /** * Gets cached data from the database layer and if not found fetch it from * the database again. This method does not return the header stuff because * The underlaying database class will return only the requested content. * * @param $idNumber The ID number which we need for looking up * the requested data * @return $cachedArray The maybe cached data from the database * @throws NullPointerException If $dbInstance is null * @throws NoObjectException If $dbInstance is not an object * @throws MissingMethodException If the required method * isUniqueIdUsed() was not found */ function getObjectFromCachedData ($idNumber); } // [EOF] ?>