* An abstract database access class for handling database I/O requests
*
* @see DatabaseFrontendInterface - An interface for database frontends (front-end to the application)
- * @author Roland Haeder <webmaster@mxchange.org>
- * @version 0.3.0
- * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @author Roland Haeder <webmaster@ship-simu.org>
+ * @version 0.0.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
+ * @link http://www.ship-simu.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
* 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 <http://www.gnu.org/licenses/>.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-abstract class BaseDatabaseFrontend extends BaseFrameworkSystem implements DatabaseFrontendInterface, LimitableObject {
+abstract class BaseDatabaseFrontend extends BaseFrameworkSystem implements DatabaseFrontendInterface {
+ // Constants for exceptions
+ const EXCEPTION_SQL_QUERY = 0x140;
+
/**
* The limiter instance
*/
private $limitInstance = null;
/**
- * Private constructor
+ * Protected constructor
*
+ * @param $className Name of the class
* @return void
*/
- private function __construct($class) {
+ protected function __construct($className) {
// 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.<br />\n",
- $this->__toString()
- ));
+ parent::__construct($className);
// 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 <strong>%s</strong> angefordert.<br />\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 <strong>%s</strong> soll verwendet werden.<br />\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 <strong>%s</strong> wird verwendet und beinhaltet <strong>%s</strong> Einträge.<br />\n",
- $this->__toString(),
- $limitInstance->__toString(),
- $array->count()
- ));
- }
- }
}
// [EOF]