Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
unsatisfiableness
/
core
/
core
/
lib
/
coinbase
/
src
/
Resource
:
ResourceCollection.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Coinbase\Wallet\Resource; class ResourceCollection implements \IteratorAggregate, \Countable, \ArrayAccess { /** @var string */ private $previousUri; /** @var string */ private $nextUri; /** @var Resource[] */ private $resources = []; public function __construct($previousUri = null, $nextUri = null) { $this->previousUri = $previousUri; $this->nextUri = $nextUri; } public function getFirstId() { if ($this->resources) { $lastResource = reset($this->resources); return $lastResource->getId(); } } public function getLastId() { if ($this->resources) { $lastResource = end($this->resources); return $lastResource->getId(); } } public function getPreviousUri() { return $this->previousUri; } public function getNextUri() { return $this->nextUri; } public function hasPreviousPage() { return (Boolean) $this->previousUri; } public function hasNextPage() { return (Boolean) $this->nextUri; } public function mergePreviousPage(ResourceCollection $previousPage) { $resources = array_reverse($previousPage->all()); foreach ($resources as $resource) { array_unshift($this->resources, $resource); } $this->previousUri = $previousPage->getPreviousUri(); } public function mergeNextPage(ResourceCollection $nextPage) { foreach ($nextPage as $resource) { $this->add($resource); } $this->nextUri = $nextPage->getNextUri(); } public function all() { return $this->resources; } public function set($index, Resource $resource) { $this->resources[$index] = $resource; } public function add(Resource $resource) { $this->resources[] = $resource; } public function get($index) { if (isset($this->resources[$index])) { return $this->resources[$index]; } } public function has($index) { return isset($this->resources[$index]); } public function remove($index) { unset($this->resources[$index]); } public function getIterator() { return new \ArrayIterator($this->resources); } public function offsetExists($offset) { return $this->has($offset); } public function offsetGet($offset) { return $this->get($offset); } public function offsetSet($offset, $value) { if (null === $offset) { $this->add($value); } else { $this->set($offset, $value); } } public function offsetUnset($offset) { $this->remove($offset); } public function count() { return count($this->resources); } }