X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Ffactories%2Fxml%2Fclass_XmlTemplateEngineFactory.php;h=655b64edcef4b8509e5eb53f14513193cd662920;hp=7c544b6887ce58a402fd064a4ef7e230dbcae8ec;hb=HEAD;hpb=b002c5909aa0f781505dde5414964b0f014cde01 diff --git a/framework/main/classes/factories/xml/class_XmlTemplateEngineFactory.php b/framework/main/classes/factories/xml/class_XmlTemplateEngineFactory.php index 7c544b68..f29e271b 100644 --- a/framework/main/classes/factories/xml/class_XmlTemplateEngineFactory.php +++ b/framework/main/classes/factories/xml/class_XmlTemplateEngineFactory.php @@ -3,8 +3,13 @@ namespace Org\Mxchange\CoreFramework\Factory\Template; // Import framework stuff -use Org\Mxchange\CoreFramework\Factory\ObjectFactory; -use Org\Mxchange\CoreFramework\Registry\GenericRegistry; +use Org\Mxchange\CoreFramework\Factory\BaseFactory; +use Org\Mxchange\CoreFramework\Factory\Object\ObjectFactory; +use Org\Mxchange\CoreFramework\Generic\FrameworkInterface; +use Org\Mxchange\CoreFramework\Registry\Object\ObjectRegistry; + +// Import SPL stuff +use \InvalidArgumentException; /** * A factory class for XML template engines. All instances generated by this @@ -13,7 +18,7 @@ use Org\Mxchange\CoreFramework\Registry\GenericRegistry; * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2023 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * @@ -30,13 +35,13 @@ use Org\Mxchange\CoreFramework\Registry\GenericRegistry; * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class XmlTemplateEngineFactory extends ObjectFactory { +class XmlTemplateEngineFactory extends BaseFactory { /** * Protected constructor * * @return void */ - protected function __construct () { + private function __construct () { // Call parent constructor parent::__construct(__CLASS__); } @@ -46,17 +51,24 @@ class XmlTemplateEngineFactory extends ObjectFactory { * the registry it will be returned, else a new instance is created and * stored in the same registry entry. * - * @param $configEntry Config entry name for the template engine + * @param $configKey Config entry name for the template engine * @return $templateInstance A template engine instance */ - public static final function createXmlTemplateEngineInstance ($configEntry) { + public static final function createXmlTemplateEngineInstance (string $configKey) { + // Validate parameter + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('XML-TEMPLATE-ENGINE-FACTORY: configKey=%s - CALLED!', $configKey)); + if (empty($configKey)) { + // Throw IAE + throw new InvalidArgumentException('Paramter "configKey" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT); + } + // Do we have an instance in the registry? - if (GenericRegistry::getRegistry()->instanceExists($configEntry)) { + if (ObjectRegistry::getRegistry('factory')->instanceExists($configKey)) { // Then use this instance - $templateInstance = GenericRegistry::getRegistry()->getInstance($configEntry); + $templateInstance = ObjectRegistry::getRegistry('factory')->getInstance($configKey); } else { - // Now prepare the tags instance - $templateInstance = ObjectFactory::createObjectByConfiguredName($configEntry); + // Get the XML template instance + $templateInstance = ObjectFactory::createObjectByConfiguredName($configKey); // Disable language support $templateInstance->enableLanguageSupport(false); @@ -68,10 +80,11 @@ class XmlTemplateEngineFactory extends ObjectFactory { $templateInstance->enableXmlCompacting(); // Set the instance in registry for further use - Registry::getRegistry()->addInstance($configEntry, $templateInstance); + ObjectRegistry::getRegistry('factory')->addInstance($configKey, $templateInstance); } // Return the instance + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('XML-TEMPLATE-ENGINE-FACTORY: templateInstance=%s - EXIT!', $templateInstance->__toString())); return $templateInstance; }