1: <?php
2: /**
3: * PHP version 5
4: * @package generalDriver
5: * @author Christian Schiffler <c.schiffler@cyberspectrum.de>
6: * @author Stefan Heimes <stefan_heimes@hotmail.com>
7: * @author Tristan Lins <tristan.lins@bit3.de>
8: * @copyright The MetaModels team.
9: * @license LGPL.
10: * @filesource
11: */
12:
13: namespace DcGeneral\Panel;
14:
15: /**
16: * This interface describes a search panel element.
17: *
18: * @package DcGeneral\Panel
19: */
20: interface SearchElementInterface
21: extends PanelElementInterface
22: {
23: /**
24: * Add a property that can be searched.
25: *
26: * @param string $strProperty The property to allow to search on.
27: *
28: * @return SearchElementInterface
29: */
30: public function addProperty($strProperty);
31:
32: /**
33: * Retrieve the list of properties to allow search on.
34: *
35: * @return string[]
36: */
37: public function getPropertyNames();
38:
39: /**
40: * This activates a property for search.
41: *
42: * @param string $strProperty The property to activate search on.
43: *
44: * @return SearchElementInterface
45: */
46: public function setSelectedProperty($strProperty = '');
47:
48: /**
49: * Retrieves the property currently defined to be searched on.
50: *
51: * @return string
52: */
53: public function getSelectedProperty();
54:
55: /**
56: * Set the value to search for.
57: *
58: * @param string $mixValue The value to search for.
59: *
60: * @return SearchElementInterface
61: */
62: public function setValue($mixValue = null);
63:
64: /**
65: * Retrieve the value to be searched for.
66: *
67: * @return string
68: */
69: public function getValue();
70: }
71: