mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-21 21:04:25 +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