79 lines
1.9 KiB
PHP
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);
|
|
}
|
|
|
|
} |