icingaweb2/library/Icinga/Data/Sortable.php

51 lines
841 B
PHP

<?php
// {{{ICINGA_LICENSE_HEADER}}}
// {{{ICINGA_LICENSE_HEADER}}}
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 string $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();
}