* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Grid\Search; /** * Class SearchCriteria stores search criteria for grid data. */ final class SearchCriteria implements SearchCriteriaInterface { /** * @var array */ private $filters; /** * @var string|null */ private $orderBy; /** * @var string|null */ private $orderWay; /** * @var int|null */ private $offset; /** * @var int|null */ private $limit; /** * @param array $filters * @param string|null $orderBy * @param string|null $orderWay * @param int|null $offset * @param int|null $limit */ public function __construct(array $filters = [], $orderBy = null, $orderWay = null, $offset = null, $limit = null) { $this->filters = $filters; $this->orderBy = $orderBy; $this->orderWay = $orderWay; $this->offset = $offset; $this->limit = $limit; } /** * {@inheritdoc} */ public function getOrderBy() { return $this->orderBy; } /** * {@inheritdoc} */ public function getOrderWay() { return $this->orderWay; } /** * {@inheritdoc} */ public function getOffset() { return $this->offset; } /** * {@inheritdoc} */ public function getLimit() { return $this->limit; } /** * {@inheritdoc} */ public function getFilters() { return $this->filters; } }