From 216ccd8b36b88d66afb56a9a47cda44820095f12 Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel Date: Mon, 3 Jan 2011 17:13:25 +0100 Subject: [PATCH] Actually add the files. --- .../lib/Horde/Kolab/Storage/List/Query.php | 55 +++++++++++ .../Kolab/Storage/List/Query/Decorator/Cache.php | 106 +++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query.php create mode 100644 framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/Decorator/Cache.php diff --git a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query.php b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query.php new file mode 100644 index 000000000..f63cf7287 --- /dev/null +++ b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query.php @@ -0,0 +1,55 @@ + + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @link http://pear.horde.org/index.php?package=Kolab_Storage + */ + +/** + * The interface of the basic list query. + * + * Copyright 2010 The Horde Project (http://www.horde.org/) + * + * See the enclosed file COPYING for license information (LGPL). If you + * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. + * + * @category Kolab + * @package Kolab_Storage + * @author Gunnar Wrobel + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @link http://pear.horde.org/index.php?package=Kolab_Storage + */ +interface Horde_Kolab_Storage_List_Query +extends Horde_Kolab_Storage_Query +{ + /** + * Returns the folder types as associative array. + * + * @return array The list folder types with the folder names as key and the + * type as values. + */ + public function listTypes(); + + /** + * Returns the folder type annotation as associative array. + * + * @return array The list folder types with the folder names as key and the + * type handler as values. + */ + public function listFolderTypeAnnotations(); + + /** + * List all folders of a specific type. + * + * @param string $type The folder type the listing should be limited to. + * + * @return array The list of folders. + */ + public function listByType($type); +} \ No newline at end of file diff --git a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/Decorator/Cache.php b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/Decorator/Cache.php new file mode 100644 index 000000000..1d52dfb2f --- /dev/null +++ b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/Decorator/Cache.php @@ -0,0 +1,106 @@ + + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @link http://pear.horde.org/index.php?package=Kolab_Storage + */ + +/** + * The cached list query. + * + * Copyright 2010 The Horde Project (http://www.horde.org/) + * + * See the enclosed file COPYING for license information (LGPL). If you + * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. + * + * @category Kolab + * @package Kolab_Storage + * @author Gunnar Wrobel + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @link http://pear.horde.org/index.php?package=Kolab_Storage + */ +class Horde_Kolab_Storage_List_Query_Decorator_Cache +implements Horde_Kolab_Storage_List_Query +{ + /** + * The queriable list. + * + * @var Horde_Kolab_Storage_Queriable + */ + private $_queriable; + + /** + * The factory for generating additional resources. + * + * @var Horde_Kolab_Storage_Factory + */ + private $_factory; + + /** + * Constructor. + * + * @param Horde_Kolab_Storage_Queriable $queriable The queriable list. + */ + public function __construct(Horde_Kolab_Storage_Queriable $queriable) + { + $this->_queriable = $queriable; + } + + /** + * Inject the factory. + * + * @param Horde_Kolab_Storage_Factory $factory The factory. + * + * @return NULL + */ + public function setFactory(Horde_Kolab_Storage_Factory $factory) + { + $this->_factory = $factory; + } + + /** + * Returns the folder types as associative array. + * + * @return array The list folder types with the folder names as key and the + * type as values. + */ + public function listTypes() + { + } + + /** + * Returns the folder type annotation as associative array. + * + * @return array The list folder types with the folder names as key and the + * type handler as values. + */ + public function listFolderTypeAnnotations() + { + } + + /** + * List all folders of a specific type. + * + * @param string $type The folder type the listing should be limited to. + * + * @return array The list of folders. + */ + public function listByType($type) + { + } + + /** + * Synchronize the query data with the information from the backend. + * + * @return NULL + */ + public function synchronize() + { + } +} \ No newline at end of file -- 2.11.0