Files
awo-hamburg-intranet/mysyde/common/classes/PageCollection.php
2026-02-17 14:56:23 +01:00

79 lines
1.9 KiB
PHP

<?php
namespace DynCom\mysyde\common\classes;
use DynCom\mysyde\common\interfaces\CriteriaHelperInterface;
use DynCom\mysyde\common\interfaces\GenericCollectionInterface;
use DynCom\mysyde\common\traits\genericCollectionTrait;
/**
* Class PageCollection
* @package DynCom\mysyde\common\classes
*/
class PageCollection implements GenericCollectionInterface
{
use genericCollectionTrait;
/**
* @param PageConfig $config
* @param CriteriaHelperInterface $criteriaValidationService
*/
public function __construct(PageConfig $config, CriteriaHelperInterface $criteriaValidationService)
{
$this->elements = new \SplObjectStorage();
$this->config = $config;
$this->criteriaValidationService = $criteriaValidationService;
$this->entryClassName = $config->getModelClassName();
}
/**
* @return PageCollection
*/
public function getEmptyCollection()
{
return new self($this->config, $this->criteriaValidationService);
}
/**
* @param mixed $instance
* @param bool $idCheck
*
* @return bool
*/
public function add($instance, $idCheck = FALSE)
{
return $this->_addPage($instance, $idCheck);
}
/**
* @param Page $page
* @param bool $idCheck
* @return bool
*/
protected function _addPage(Page $page, $idCheck = FALSE)
{
return $this->_add($page, $idCheck);
}
/**
* @param mixed $instance
* @param bool $idCheck
*
* @return bool
*/
public function remove($instance, $idCheck = FALSE)
{
return $this->_removePage($instance, $idCheck);
}
/**
* @param Page $page
* @param bool $idCheck
* @return bool
*/
protected function _removePage(Page $page, $idCheck = FALSE)
{
return $this->_remove($page, $idCheck);
}
}