1: <?php
2:
3: namespace Charcoal\Source;
4:
5: interface OrderInterface
6: {
7: /**
8: * @param array $data The order data.
9: * @return Order Chainable
10: */
11: public function setData(array $data);
12:
13: /**
14: * @param string $property The property to order with.
15: * @return Order (Chainable)
16: */
17: public function setProperty($property);
18:
19: /**
20: * @return string
21: */
22: public function property();
23:
24: /**
25: * @param string $mode The order mode.
26: * @return Order Chainable
27: */
28: public function setMode($mode);
29:
30: /**
31: * @return string
32: */
33: public function mode();
34:
35: /**
36: * Set the values.
37: * Values are ignored if the mode is not "values"
38: *
39: * If the `$values` argument is a string, it will be split by ",".
40: * If it is an array, the values will be used as is.
41: * Otherwise, the function will throw an error
42: *
43: * @param string|array $values The order values.
44: * @return Order (Chainable)
45: */
46: public function setValues($values);
47:
48: /**
49: * @return array
50: */
51: public function values();
52: }
53: