* @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:----iseZOqinAF9gOrN2mQsTL4dk+59gSQUzhEFtOJrV+0/gOA7QVNikbuvJoAAqWiR10O9sJQ6DuDNm1JppAVvQ9Sj4ttbCcKSKO1FlE9RUCqWpit8XRZbWfJEOs5jOgiwaDKi73xJsc2wZ96VOSW0bQPny47ohd1F+XbazHWA4ZnGPH+H910Oeu5jLmndrIBK0pr38kYejG3JmES8Aq1Trg2SqtSoqYa+DSqp3R632ebnD6o7mn0S/rGa7HBfNe2OpkTtiMub4/K2i5XUWawoQHB3ON7NIqU74mZD8sCoXjscQWZsrre2UthhxmCn8p0Mkp4lrOJ/MQ9renTv0h+wmNPc4nSjdQbiPKXrhrxIq4HTGjqNZEa4blKQV+yeFslEfSj/SDz5Wx6U7bXWz3oB0r54PdV2Qrkm0WrpoFfrUEUnhKUjzZdOc1E7pk5rhaXe0N3m8Ehwm/sK4/mOjRVoTAlWZYuef/iNFk0J//SZh088G1WnizxXLEz/pePkuU4ZfrZHyH9Xl2FwP4OeppOmln3ZKqwd6hZdk8JdHKm+mrb/sxvfKAZBMCtvjM1kaLcUPDiQgnfmhKmnKPPbyAP4IOEhMn5BmRk1nF3fgR6l1R5u9TZv7G4OSP7MTze+bfGMYBUa1Gpa0FUCki48imHdXRNgOuHsZnYlYa3k8hd2ubis=----ATTACHMENT:----OTI2NzE1Njg4MzUwMDg0NiA4MTQxMTUzMzI4MDA1MjAgMzMzNDQyNjQzNjIzNTQzMA==