Debug mailer finished and debug messages removed:
[shipsimu.git] / application / ship-simu / main / class_Merchant.php
index b45e8eeb5c8b11d790479475dd53a3bae3c70cc6..52f63c1d4ecea78efe6fa0c06e345985f96749eb 100644 (file)
@@ -1,6 +1,26 @@
 <?php
-
-// Die Haendler-Klasse
+/**
+ * A class for merchants which can trade items
+ *
+ * @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.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
+ * 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 <http://www.gnu.org/licenses/>.
+ */
 class Merchant extends BaseFrameworkSystem {
        // Name des Haendlers
        private $merchantName   = "Namenloser H&auml;ndler";
@@ -12,39 +32,31 @@ class Merchant extends BaseFrameworkSystem {
        private $harborInstance = null;
 
        // Konstruktor
-       private function __construct () {
+       protected function __construct () {
                // Call parent constructor
-               parent::constructor(__CLASS__);
-
-               // Debug message
-               if (((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) {
-                       $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.<br />\n",
-                               __CLASS__,
-                               __LINE__
-                       ));
-               }
+               parent::__construct(__CLASS__);
 
                // Set description
-               $this->setPartDescr("H&auml;ndler");
+               $this->setObjectDescription("H&auml;ndler");
 
                // Generate unique ID number
-               $this->createUniqueID();
+               $this->generateUniqueId();
 
                // Clean up a little
                $this->removeSystemArray();
        }
 
        // Haendler mit Namen erzeugen
-       public static function createMerchant ($merchantName, Harbor $harborInstance) {
+       public final static function createMerchant ($merchantName, Harbor $harborInstance) {
                // String absichern
                $merchantName = (string) $merchantName;
 
-               // Instanz holen
+               // Get new instance
                $merchantInstance = new Merchant();
 
                // Debug message
                if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) {
-                       $merchantInstance->getDebugInstance()->output(sprintf("[%s:%d] Ein H&auml;ndler <strong>%s</strong> wird angelegt und soll sich am <strong>%s</strong> niederlassen.<br />\n",
+                       $merchantInstance->debugOutput(sprintf("[%s:%d] Ein H&auml;ndler <strong>%s</strong> wird angelegt und soll sich am <strong>%s</strong> niederlassen.",
                                __CLASS__,
                                __LINE__,
                                $merchantName,
@@ -67,72 +79,42 @@ class Merchant extends BaseFrameworkSystem {
 
        // Initialize pricing list
        private function createPriceList () {
-               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der H&auml;ndler <strong>%s</strong> erh&auml;lt eine leere Preisliste.<br />\n",
-                       __CLASS__,
-                       __LINE__,
-                       $this->getMerchantName()
-               ));
-               $this->priceList = new FrameworkArrayObject();
+               $this->priceList = new FrameworkArrayObject("FakedPriceList");
        }
 
        // Setter for merchant name
-       public function setMerchantName ($merchantName) {
-               // Secure string
-               $merchantName = (string) $merchantName;
-
+       public final function setMerchantName ($merchantName) {
                // Debug message
-               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der H&auml;ndlername <strong>%s</strong> ist nun bekannt.<br />\n",
-                       __CLASS__,
-                       __LINE__,
-                       $merchantName
-               ));
-               $this->merchantName = $merchantName;
+               $this->merchantName = (string) $merchantName;
        }
 
        // Getter for merchant name
-       public function getMerchantName () {
-               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der H&auml;ndlername <strong>%s</strong> wird verlangt.<br />\n",
-                       __CLASS__,
-                       __LINE__,
-                       $this->merchantName
-               ));
+       public final function getMerchantName () {
                return $this->merchantName;
        }
 
        // Setter for harbor instance
-       public function setHarborInstance (Harbor $harborInstance) {
-               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der H&auml;ndler <strong>%s</strong> l&auml;sst sich am <strong>%s</strong> nieder.<br />\n",
-                       __CLASS__,
-                       __LINE__,
-                       $this->getMerchantName(),
-                       $harborInstance->getHarborName()
-               ));
+       public final function setHarborInstance (Harbor $harborInstance) {
                $this->harborInstance = $harborInstance;
        }
 
        // Getter for harbor instance
-       public function getHarborInstance () {
-               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der H&auml;ndler <strong>%s</strong> hat sich am <strong>%s</strong> niedergelassen.<br />\n",
-                       __CLASS__,
-                       __LINE__,
-                       $this->getMerchantName(),
-                       $harborInstance->getHarborName()
-               ));
+       public final function getHarborInstance () {
                return $this->harborInstance;
        }
 
        // Add new item to merchant's price list
-       public function addItemToPriceList (ItemIsTradeable $itemInstance, $price) {
+       public function addItemToPriceList (TradeableItem $itemInstance, $price) {
                // Secure pricing
                $price = (float) $price;
 
                // Debug message
-               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der H&auml;ndler <strong>%s</strong> kann nun das Schiffsteil <strong>%s</strong> &quot;<strong>%s</strong>&quot; zu <strong>%s</strong> verkaufen.<br />\n",
+               if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->debugOutput(sprintf("[%s:%d] Der H&auml;ndler <strong>%s</strong> kann nun das Schiffsteil <strong>%s</strong> &quot;<strong>%s</strong>&quot; zu <strong>%s</strong> verkaufen.",
                        __CLASS__,
                        __LINE__,
                        $this->getMerchantName(),
                        $itemInstance->__toString(),
-                       $itemInstance->getPartDescr(),
+                       $itemInstance->getObjectDescription(),
                        $this->formatCurrency($price)
                ));
 
@@ -147,12 +129,12 @@ class Merchant extends BaseFrameworkSystem {
        }
 
        // Get a price from the merchant's list
-       public function getPriceFromList (ItemIsTradeable $itemInstance) {
+       public final function getPriceFromList (TradeableItem $itemInstance) {
                $price = 0;
 
                // Iterate throw whole list
                for ($iter = $this->priceList->getIterator(); $iter->valid(); $iter->next()) {
-                       //Get current item
+                       // Get current item
                        $item = $iter->current();
 
                        // Does this item match? The unique ID may not work...
@@ -172,16 +154,6 @@ class Merchant extends BaseFrameworkSystem {
                // Return price
                return $price;
        }
-
-       /**
-        * Stub!
-        */
-       public function saveObjectToDatabase () {
-               $this->getDebugInstance()->output(sprintf("[%s:] Stub <strong>%s</strong> erreicht.",
-                       $this->__toString(),
-                       __FUNCTION__
-               ));
-       }
 }
 
 // [EOF]