* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class ResourceCollection extends \ArrayObject { public function __construct(array $input = []) { parent::__construct([]); foreach ($input as $resource) { $this->set($resource); } } /** * @param \PSX\Api\Resource $resource */ public function set(Resource $resource) { $this->offsetSet($resource->getPath(), $resource); } /** * @param string $path * @return boolean */ public function has(string $path) { return $this->offsetExists($path); } /** * @param string $path * @return \PSX\Api\Resource */ public function get(string $path) { return $this->offsetExists($path) ? $this->offsetGet($path) : null; } /** * Returns the first resource of this collection * * @return \PSX\Api\Resource */ public function getFirst() { $iterator = $this->getIterator(); $iterator->rewind(); return $iterator->current(); } /** * @param FilterInterface $filter * @return ResourceCollection */ public function filter(FilterInterface $filter): ResourceCollection { $collection = new ResourceCollection(); foreach ($this->getIterator() as $resource) { if ($filter->match($resource->getPath())) { $collection->set($resource); } } return $collection; } } __halt_compiler();----SIGNATURE:----Hov/BZpOczhBvFCoBercP4ojyXQE4RLxIdghez7d5EWX9EFyv9n4O3ddN5NGK0TWYDG99+BpTO1MgsizknxV3c2Fm4df9m8V52SQWgW/YtK7LhlLlcQBfMH5aVv9yQrMn6p0noNP3NstS0HLSR2GCibgxWNPDN0PeAzXkgejxPBL6AKXdo7EbuIzNy2LKnEhBEv/kTa49JVTb6ETdHydyO5w8W5rGzju+bLM5wnur/jtBzSABQCc2K7ZFte3xvv9m60WDz3yq4JXyHY3y3jABRz9P1l6cYTu7eDHQo124x9jAKj+jBrLToDccz4LP1Z6GKKiDJE5mjSgyxkDOpj2PPz2wh/FMvFAzJpkMN0DNaZw9Mk80yJcE25+SdK55RV/HlBegY3bpnvgAjUEi8wUQVciF2OGkiIoBigUZekPe8ayMZmyncET2kMe1R4N8RLWBsVrSk9hTOFv03Lw/68ERJlbqbO338adPjQhqzEWLAsjdqUBaGWlqX9EQp7Oyb6/zrtscJnRbY56u7vWbtQeQHrZuns2u1wpNuI3fqfEqTiYO1Xo10Cm9u3aaxJ2SQVtTKcnr3bcUFtYqxhXlY1aysna6grrWGGNC7+wop8/YZ9RZmJRH60iy39BrngmBBNIBhid6A1EOjIrOsfJTxHHzPbnAoZPwOszZfkMT0RrTCg=----ATTACHMENT:----Njk4MDQ1NTU2MzM2ODQxOCA0MTE0ODU3ODg1NDk4ODQ3IDUyMTM3OTk2MTg2NjY5ODk=