137 lines
2.3 KiB
PHP
137 lines
2.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file classes/core/ItemIterator.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2000-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class ItemIterator
|
|
*
|
|
* @ingroup db
|
|
*
|
|
* @brief Generic iterator class; needs to be overloaded by subclasses
|
|
* providing specific implementations.
|
|
*/
|
|
|
|
namespace PKP\core;
|
|
|
|
/**
|
|
* @template TKey
|
|
* @template TValue
|
|
*/
|
|
class ItemIterator
|
|
{
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Return the next item in the iterator.
|
|
*
|
|
* @return TValue
|
|
*/
|
|
public function next()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Return the next item with key.
|
|
*
|
|
* @return array<Tkey,TValue>
|
|
*/
|
|
public function nextWithKey()
|
|
{
|
|
return [null, null];
|
|
}
|
|
|
|
/**
|
|
* Determine whether this iterator represents the first page of a set.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function atFirstPage()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Determine whether this iterator represents the last page of a set.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function atLastPage()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Get the page number of a set that this iterator represents.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getPage()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
/**
|
|
* Get the total number of items in the set.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getCount()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
/**
|
|
* Get the total number of pages in the set.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getPageCount()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
/**
|
|
* Return a boolean indicating whether or not we've reached the end of results
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function eof()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Return a boolean indicating whether or not this iterator was empty from the beginning
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function wasEmpty()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Convert this iterator to an array.
|
|
*
|
|
* @return TValue[]
|
|
*/
|
|
public function toArray()
|
|
{
|
|
return [];
|
|
}
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\core\ItemIterator', '\ItemIterator');
|
|
}
|