* @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
+ * @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
// Call parent constructor
parent::__construct($class);
- // Beim Schiff angelangt
- if (((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT')))
- $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.<br />\n",
- __CLASS__,
- __LINE__
- ));
+ // Set object description
+ $this->setObjectDescription("Allgemeines Schiff");
- // Bezeichnung setzen
- $this->setObjectDescription("Schiff");
-
- // Array-Objekt generieren
+ // Prepare array object for all structures
$this->createStructuresArray();
- // Instanz entfernen
+ // Clean-up a little
$this->removePartInstance();
$this->removeNumberFormaters();
}
// Array-Objekt anlegen
private function createStructuresArray () {
- $this->structures = new FrameworkArrayObject();
+ $this->structures = new FrameworkArrayObject("FakedShipStructures");
}
// Schiffsteil generieren (kann alles sein)
// Ist die gewuenschte Klasse vorhanden?
if (class_exists($partClass)) {
- // Befehl zusammenbauen
- $eval = sprintf("\$partInstance = %s::create%s();",
- $partClass, $partClass
- );
-
- // Debug-Meldung ausgeben
- if ((defined('DEBUG_EVAL')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruierte PHP-Anweisung: <pre><em>%s</em></pre><br />\n",
- __CLASS__,
- __LINE__,
- htmlentities($eval)
- ));
-
- // ... und ausfuehren
- eval($eval);
+ // Get an instance back from our object factory
+ $partInstance = ObjectFactory::createObjectByName($partClass);
} else {
// Nicht vorhanden, dann Ausnahme werfen!
- throw new ClassNotFoundException($partClass, 0);
+ throw new ClassNotFoundException($partClass, self::EXCEPTION_CLASS_NOT_FOUND);
}
// Das Einbauen versuchen...
$e->getMessage()
));
return false;
- } catch (ExceptionNotChangedException $e) {
- if ((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Eine Exception wurde nicht geändert. Details: <strong>%s</strong><br />\n",
- __CLASS__,
- __LINE__,
- $e->getMessage()
- ));
- return false;
} catch (ExceptionNotFoundException $e) {
if ((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Eine Exception wurde nicht gefunden. Details: <strong>%s</strong><br />\n",
__CLASS__,