* @git Joomla Component Builder * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace VDM\Joomla\Data; use Joomla\DI\Container; use VDM\Joomla\Service\Table; use VDM\Joomla\Service\Database; use VDM\Joomla\Service\Model; use VDM\Joomla\Service\Data; use VDM\Joomla\Interfaces\FactoryInterface; use VDM\Joomla\Abstraction\Factory as ExtendingFactory; /** * Data Factory * * @since 3.2.2 */ abstract class Factory extends ExtendingFactory implements FactoryInterface { /** * Package Container * * @var Container|null * @since 5.0.3 **/ protected static ?Container $container = null; /** * Create a container object * * @return Container * @since 3.2.2 */ protected static function createContainer(): Container { return (new Container()) ->registerServiceProvider(new Table()) ->registerServiceProvider(new Database()) ->registerServiceProvider(new Model()) ->registerServiceProvider(new Data()); } }