X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fclasses%2Fmain%2Fclass_BaseFrameworkSystem.php;h=70ab046529da504a28c0a40d9e4d74e996bf4021;hb=36a96a3b68cb6da4e1b431fbc5983821de918618;hp=0b14dcbb66f1ab787f54b2bc69189a6487c96ec2;hpb=7f7a73a23398748d13dac8fbf289702e635ceb05;p=core.git diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 0b14dcbb..70ab0465 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -5,7 +5,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -98,10 +98,35 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $imageInstance = null; + /** + * Instance of the stacker + */ + private $stackerInstance = null; + + /** + * A Compressor instance + */ + private $compressorInstance = null; + + /** + * A Parseable instance + */ + private $parserInstance = null; + + /** + * A ProtocolHandler instance + */ + private $protocolInstance = null; + + /** + * A database wrapper instance + */ + private $databaseInstance = null; + /** * The real class name */ - private $realClass = 'BaseFrameworkSystem'; + private $realClass = 'BaseFrameworkSystem'; /** * Thousands seperator @@ -113,6 +138,16 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $decimals = ','; // German + /** + * Socket resource + */ + private $socketResource = false; + + /** + * Package data + */ + private $packageData = array(); + /*********************** * Exception codes.... * ***********************/ @@ -162,8 +197,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { const EXCEPTION_ATTRIBUTES_ARE_MISSING = 0x02b; const EXCEPTION_ARRAY_ELEMENTS_MISSING = 0x02c; const EXCEPTION_TEMPLATE_ENGINE_UNSUPPORTED = 0x02d; - const EXCEPTION_MISSING_LANGUAGE_HANDLER = 0x02e; - const EXCEPTION_MISSING_FILE_IO_HANDLER = 0x02f; const EXCEPTION_MISSING_ELEMENT = 0x030; const EXCEPTION_HEADERS_ALREADY_SENT = 0x031; const EXCEPTION_DEFAULT_CONTROLLER_GONE = 0x032; @@ -231,7 +264,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Some arguments are there foreach ($args as $arg) { // Add the type - $argsString .= $arg . ' (' . gettype($arg); + $argsString .= $this->replaceControlCharacters($arg) . ' (' . gettype($arg); // Add length if type is string if (gettype($arg) == 'string') $argsString .= ', '.strlen($arg); @@ -340,7 +373,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for resolver instance * - * @param $resolverInstance Instance of a command resolver class + * @param $resolverInstance Instance of a command resolver class * @return void */ public final function setResolverInstance (Resolver $resolverInstance) { @@ -350,7 +383,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Getter for resolver instance * - * @return $resolverInstance Instance of a command resolver class + * @return $resolverInstance Instance of a command resolver class */ public final function getResolverInstance () { return $this->resolverInstance; @@ -423,8 +456,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for database instance * - * @param $dbInstance The instance for the database connection - * (forced DatabaseConnection) + * @param $dbInstance The instance for the database connection (forced DatabaseConnection) * @return void */ public final function setDatabaseInstance (DatabaseConnection $dbInstance) { @@ -527,7 +559,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * * @return $realClass The name of the real class (not BaseFrameworkSystem) */ - public final function __toString () { + public function __toString () { return $this->realClass; } @@ -561,7 +593,18 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { )); // Return the result - return $result; + return $equals; + } + + /** + * Generates a generic hash code of this class. You should really overwrite + * this method with your own hash code generator code. But keep KISS in mind. + * + * @return $hashCode A generic hash code respresenting this whole class + */ + public function hashCode () { + // Simple hash code + return crc32($this->__toString()); } /** @@ -581,7 +624,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { if ((!isset($this->decimals)) || (!isset($this->thousands))) { // Throw an exception throw new MissingDecimalsThousandsSeperatorException($this, self::EXCEPTION_ATTRIBUTES_ARE_MISSING); - } + } // END - if // Cast the number $value = (float) $value; @@ -622,7 +665,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ public final function addMissingTrailingSlash ($str) { // Is there a trailing slash? - if (substr($str, -1, 1) != '/') $str .= '/'; + if (substr($str, -1, 1) != '/') { + $str .= '/'; + } // END - if + + // Return string with trailing slash return $str; } @@ -649,42 +696,31 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * Prepare the template engine (WebTemplateEngine by default) for a given * application helper instance (ApplicationHelper by default). * - * @param $appInstance An application helper instance or + * @param $applicationInstance An application helper instance or * null if we shall use the default - * @return $templateInstance The template engine instance + * @return $templateInstance The template engine instance * @throws NullPointerException If the template engine could not * be initialized * @throws UnsupportedTemplateEngineException If $templateInstance is an * unsupported template engine - * @throws MissingLanguageHandlerException If the language sub-system - * is not yet initialized * @throws NullPointerException If the discovered application * instance is still null */ - protected function prepareTemplateInstance (FrameworkInterface $appInstance=null) { + protected function prepareTemplateInstance (ManageableApplication $applicationInstance = null) { // Is the application instance set? - if (is_null($appInstance)) { + if (is_null($applicationInstance)) { // Get the current instance - $appInstance = $this->getApplicationInstance(); + $applicationInstance = $this->getApplicationInstance(); // Still null? - if (is_null($appInstance)) { + if (is_null($applicationInstance)) { // Thrown an exception throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER); } // END - if } // END - if - // Are both instances set? - if ($appInstance->getLanguageInstance() === null) { - // Invalid language instance - throw new MissingLanguageHandlerException($appInstance, self::EXCEPTION_MISSING_LANGUAGE_HANDLER); - } elseif ($appInstance->getFileIoInstance() === null) { - // Invalid language instance - throw new MissingFileIoHandlerException($appInstance, self::EXCEPTION_MISSING_FILE_IO_HANDLER); - } - // Initialize the template engine - $templateInstance = ObjectFactory::createObjectByConfiguredName('web_template_class', array($appInstance)); + $templateInstance = ObjectFactory::createObjectByConfiguredName('web_template_class'); // Return the prepared instance return $templateInstance; @@ -726,6 +762,25 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { )); } + /** + * Replaces control characters with printable output + * + * @param $str String with control characters + * @return $str Replaced string + */ + protected function replaceControlCharacters ($str) { + // Replace them + $str = str_replace( + "\r", '[r]', str_replace( + "\n", '[n]', str_replace( + "\t", '[t]', + $str + ))); + + // Return it + return $str; + } + /** * Output a partial stub message for the caller method * @@ -1094,17 +1149,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } } - /** - * Generates a generic hash code of this class. You should really overwrite - * this method with your own hash code generator code. But keep KISS in mind. - * - * @return $hashCode A generic hash code respresenting this whole class - */ - public function hashCode () { - // Simple hash code - return crc32($this->__toString()); - } - /** * Checks wether the given PHP extension is loaded * @@ -1236,7 +1280,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * Setter for image instanxe + * Setter for image instance * * @param $imageInstance An instance of an image * @return void @@ -1246,13 +1290,146 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * Getter for image instanxe + * Getter for image instance * * @return $imageInstance An instance of an image */ public final function getImageInstance () { return $this->imageInstance; } + + /** + * Setter for stacker instance + * + * @param $stackerInstance An instance of an stacker + * @return void + */ + public final function setStackerInstance (Stackable $stackerInstance) { + $this->stackerInstance = $stackerInstance; + } + + /** + * Getter for stacker instance + * + * @return $stackerInstance An instance of an stacker + */ + public final function getStackerInstance () { + return $this->stackerInstance; + } + + /** + * Setter for compressor instance + * + * @param $compressorInstance An instance of an compressor + * @return void + */ + public final function setCompressorInstance (Compressor $compressorInstance) { + $this->compressorInstance = $compressorInstance; + } + + /** + * Getter for compressor instance + * + * @return $compressorInstance An instance of an compressor + */ + public final function getCompressorInstance () { + return $this->compressorInstance; + } + + /** + * Setter for Parseable instance + * + * @param $parserInstance An instance of an Parseable + * @return void + */ + public final function setParserInstance (Parseable $parserInstance) { + $this->parserInstance = $parserInstance; + } + + /** + * Getter for Parseable instance + * + * @return $parserInstance An instance of an Parseable + */ + public final function getParserInstance () { + return $this->parserInstance; + } + + /** + * Setter for ProtocolHandler instance + * + * @param $protocolInstance An instance of an ProtocolHandler + * @return void + */ + public final function setProtocolInstance (ProtocolHandler $protocolInstance) { + $this->protocolInstance = $protocolInstance; + } + + /** + * Getter for ProtocolHandler instance + * + * @return $protocolInstance An instance of an ProtocolHandler + */ + public final function getProtocolInstance () { + return $this->protocolInstance; + } + + /** + * Setter for BaseDatabaseWrapper instance + * + * @param $wrapperInstance An instance of an BaseDatabaseWrapper + * @return void + */ + public final function setWrapperInstance (BaseDatabaseWrapper $wrapperInstance) { + $this->wrapperInstance = $wrapperInstance; + } + + /** + * Getter for BaseDatabaseWrapper instance + * + * @return $wrapperInstance An instance of an BaseDatabaseWrapper + */ + public final function getWrapperInstance () { + return $this->wrapperInstance; + } + + /** + * Setter for socket resource + * + * @param $socketResource A valid socket resource + * @return void + */ + public final function setSocketResource ($socketResource) { + $this->socketResource = $socketResource; + } + + /** + * Getter for socket resource + * + * @return $socketResource A valid socket resource + */ + public function getSocketResource () { + return $this->socketResource; + } + + /** + * Setter for raw package Data + * + * @param $packageData Raw package Data + * @return void + */ + public final function setPackageData (array $packageData) { + $this->packageData = $packageData; + } + + /** + * Getter for raw package Data + * + * @return $packageData Raw package Data + */ + public function getPackageData () { + return $this->packageData; + } } // [EOF]