1: <?php
2: /**
3: * Interface for server query elements.
4: *
5: * PHP version 5
6: *
7: * @category Kolab
8: * @package Kolab_Server
9: * @author Gunnar Wrobel <wrobel@pardus.de>
10: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
11: * @link http://pear.horde.org/index.php?package=Kolab_Server
12: */
13:
14: /**
15: * Interface for server query elements.
16: *
17: * Copyright 2008-2012 Horde LLC (http://www.horde.org/)
18: *
19: * See the enclosed file COPYING for license information (LGPL). If you
20: * did not receive this file, see http://www.horde.org/licenses/lgpl21.
21: *
22: * @category Kolab
23: * @package Kolab_Server
24: * @author Gunnar Wrobel <wrobel@pardus.de>
25: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
26: * @link http://pear.horde.org/index.php?package=Kolab_Server
27: */
28: interface Horde_Kolab_Server_Query_Element_Interface
29: {
30: /**
31: * Return the query element name.
32: *
33: * @return string The name of the query element.
34: */
35: public function getName();
36:
37: /**
38: * Return the value of this element.
39: *
40: * @return mixed The query value.
41: */
42: public function getValue();
43:
44: /**
45: * Return the elements of this group.
46: *
47: * @return mixed The group elements.
48: */
49: public function getElements();
50:
51: /**
52: * Convert this element to a query element.
53: *
54: * @return mixedd The element as query.
55: */
56: public function convert(
57: Horde_Kolab_Server_Query_Interface $writer
58: );
59: }