// SPDX-License-Identifier: GPL-3.0-or-later 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: * * $query->order('field, 'ASC') * * * @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(); }