* @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 . */ abstract class BaseDatabaseFrontend extends BaseFrameworkSystem implements DatabaseFrontendInterface, LimitableObject { /** * The limiter instance */ private $limitInstance = null; /** * Private constructor * * @return void */ private function __construct($class) { // Call parent constructor parent::constructor($class); // Debug message if (((defined('DEBUG_DATABASE')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) $this->getDebugInstance()->output(sprintf("[%s:] Konstruktor erreicht.
\n", $this->__toString() )); // Clean up a little $this->removeNumberFormaters(); } /** * The public constructor * * @return void */ public function constructor ($class) { // Calls just the private one $this->__construct($class); } /** * Getter for limitation instance * * @return $limitInstance The instance to the object ObjectLimits */ public final function getLimitInstance () { if ((defined('DEBUG_DATABASE')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:] Limitierungsinstanz %s angefordert.
\n", $this->__toString(), $this->limitInstance->__toString() )); return $this->limitInstance; } /** * Setup limitation for the saving process * * @param $limitInstance An instance of ObjectLimits which contains * elements we shall exclusivly include in * saving process * @return void */ public final function limitObject (ObjectLimits $limitInstance) { // Debug message if ((defined('DEBUG_DATABASE')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:] Limitierungsinstanz %s soll verwendet werden.
\n", $this->__toString(), $limitInstance->__toString() )); // Get limitArray for validation $array = $limitInstance->getLimitArray(); // Sanity-check if some limitations are in the object if ($array->count() > 0) { // Okay, there is enougth $this->limitInstance = $limitInstance; // Debug message if ((defined('DEBUG_DATABASE')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:] Limitierungsinstanz %s wird verwendet und beinhaltet %s Einträge.
\n", $this->__toString(), $limitInstance->__toString(), $array->count() )); } } } // [EOF] ?>