mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-22 21:34:28 +02:00
Add interface "Sortable" defining how a result set can be sorted
This interface should be used to ensure that sorting a result set is standardized among the different query implementations.
This commit is contained in:
parent
3e0d254dfd
commit
e5e3dc9c43
48
library/Icinga/Data/Sortable.php
Normal file
48
library/Icinga/Data/Sortable.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Icinga\Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface for sorting a result set
|
||||||
|
*/
|
||||||
|
interface Sortable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Sort ascending
|
||||||
|
*/
|
||||||
|
const SORT_ASC = 'ASC';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sort descending
|
||||||
|
*/
|
||||||
|
const SORT_DESC = 'DESC';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sort result set by the given field (and direction)
|
||||||
|
*
|
||||||
|
* Preferred usage:
|
||||||
|
* <code>
|
||||||
|
* $query->order('field, 'ASC')
|
||||||
|
* </code>
|
||||||
|
*
|
||||||
|
* @param string $field
|
||||||
|
* @param int $direction
|
||||||
|
*
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
|
public function order($field, $direction = null);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether an order is set
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasOrder();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the order if any
|
||||||
|
*
|
||||||
|
* @return array|null
|
||||||
|
*/
|
||||||
|
public function getOrder();
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user