Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-04-22 21:49:16 +0300
committerRoeland Jago Douma <rullzer@owncloud.com>2016-04-22 21:49:16 +0300
commita1373ae259722505edc1ffd0d246517b231c86cc (patch)
treee3d741ae89609342302ba68df18c0a4cb380fd75 /lib/private/SystemTag/ManagerFactory.php
parent5a8238788b190eda8a6db17a60d38058b0225f22 (diff)
Move \OC\SystemTag to PSR-4
Diffstat (limited to 'lib/private/SystemTag/ManagerFactory.php')
-rw-r--r--lib/private/SystemTag/ManagerFactory.php80
1 files changed, 80 insertions, 0 deletions
diff --git a/lib/private/SystemTag/ManagerFactory.php b/lib/private/SystemTag/ManagerFactory.php
new file mode 100644
index 00000000000..d9acf327f8a
--- /dev/null
+++ b/lib/private/SystemTag/ManagerFactory.php
@@ -0,0 +1,80 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ * @author Vincent Petry <pvince81@owncloud.com>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OC\SystemTag;
+
+use OCP\IServerContainer;
+use OCP\SystemTag\ISystemTagManager;
+use OCP\SystemTag\ISystemTagManagerFactory;
+use OCP\SystemTag\ISystemTagObjectMapper;
+
+/**
+ * Default factory class for system tag managers
+ *
+ * @package OCP\SystemTag
+ * @since 9.0.0
+ */
+class ManagerFactory implements ISystemTagManagerFactory {
+
+ /**
+ * Server container
+ *
+ * @var IServerContainer
+ */
+ private $serverContainer;
+
+ /**
+ * Constructor for the system tag manager factory
+ *
+ * @param IServerContainer $serverContainer server container
+ */
+ public function __construct(IServerContainer $serverContainer) {
+ $this->serverContainer = $serverContainer;
+ }
+
+ /**
+ * Creates and returns an instance of the system tag manager
+ *
+ * @return ISystemTagManager
+ * @since 9.0.0
+ */
+ public function getManager() {
+ return new SystemTagManager(
+ $this->serverContainer->getDatabaseConnection(),
+ $this->serverContainer->getEventDispatcher()
+ );
+ }
+
+ /**
+ * Creates and returns an instance of the system tag object
+ * mapper
+ *
+ * @return ISystemTagObjectMapper
+ * @since 9.0.0
+ */
+ public function getObjectMapper() {
+ return new SystemTagObjectMapper(
+ $this->serverContainer->getDatabaseConnection(),
+ $this->getManager(),
+ $this->serverContainer->getEventDispatcher()
+ );
+ }
+}