]> source.dussan.org Git - nextcloud-server.git/commitdiff
split out memcache factory from base class
authorRobin Appelman <icewind@owncloud.com>
Tue, 16 Jul 2013 13:34:22 +0000 (15:34 +0200)
committerRobin Appelman <icewind@owncloud.com>
Tue, 16 Jul 2013 13:34:22 +0000 (15:34 +0200)
lib/memcache/cache.php
lib/memcache/factory.php [new file with mode: 0644]

index 331c689f0659858689a4624caac77c5fb5e22e04..b9e0c2249ac4580cf1e62bad13ba2926923cc04c 100644 (file)
@@ -9,23 +9,7 @@
 namespace OC\Memcache;
 
 abstract class Cache {
-       /**
-        * get a cache instance
-        *
-        * @param bool $global
-        * @return Cache
-        */
-       static function create($global = false) {
-               if (XCache::isAvailable()) {
-                       return new XCache($global);
-               } elseif (APC::isAvailable()) {
-                       return new APC($global);
-               } elseif (Memcached::isAvailable()) {
-                       return new Memcached($global);
-               } else {
-                       return null;
-               }
-       }
+
 
        /**
         * @param bool $global
@@ -63,11 +47,4 @@ abstract class Cache {
         * @return mixed
         */
        abstract public function clear($prefix = '');
-
-       /**
-        * @return bool
-        */
-       static public function isAvailable() {
-               return XCache::isAvailable() || APC::isAvailable() || Memcached::isAvailable();
-       }
 }
diff --git a/lib/memcache/factory.php b/lib/memcache/factory.php
new file mode 100644 (file)
index 0000000..1926582
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Memcache;
+
+class Factory {
+       /**
+        * get a cache instance, will return null if no backend is available
+        *
+        * @param bool $global
+        * @return \OC\Memcache\Cache
+        */
+       function create($global = false) {
+               if (XCache::isAvailable()) {
+                       return new XCache($global);
+               } elseif (APC::isAvailable()) {
+                       return new APC($global);
+               } elseif (Memcached::isAvailable()) {
+                       return new Memcached($global);
+               } else {
+                       return null;
+               }
+       }
+
+       /**
+        * check if there is a memcache backend available
+        *
+        * @return bool
+        */
+       public function isAvailable() {
+               return XCache::isAvailable() || APC::isAvailable() || Memcached::isAvailable();
+       }
+}