From 004fcbbcc7609ca83807f2e38967ef54f469bf72 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 23 Jul 2016 21:24:54 +0200 Subject: Move to new directory structure --- lib/Db/MapperFactory.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/Db/MapperFactory.php (limited to 'lib/Db/MapperFactory.php') diff --git a/lib/Db/MapperFactory.php b/lib/Db/MapperFactory.php new file mode 100644 index 000000000..9e99e44bc --- /dev/null +++ b/lib/Db/MapperFactory.php @@ -0,0 +1,47 @@ + + * @author Bernhard Posselt + * @copyright Alessandro Cosentino 2012 + * @copyright Bernhard Posselt 2012, 2014 + */ + +namespace OCA\News\Db; + +use OCA\News\Utility\Time; +use OCP\IDBConnection; + +use OCA\News\Db\Mysql\ItemMapper as MysqlItemMapper; +use OCA\News\DependencyInjection\IFactory; + + +class MapperFactory implements IFactory { + + private $dbType; + private $db; + /** + * @var Time + */ + private $time; + + public function __construct(IDBConnection $db, $databaseType, Time $time) { + $this->dbType = $databaseType; + $this->db = $db; + $this->time = $time; + } + + public function build() { + switch($this->dbType) { + case 'mysql': + return new MysqlItemMapper($this->db, $this->time); + default: + return new ItemMapper($this->db, $this->time); + } + } + +} -- cgit v1.2.3