Chris@14: , Sebastian Heuer , Sebastian Bergmann Chris@14: * Chris@14: * For the full copyright and license information, please view the LICENSE Chris@14: * file that was distributed with this source code. Chris@14: */ Chris@14: Chris@14: namespace PharIo\Manifest; Chris@14: Chris@14: class RequirementCollection implements \Countable, \IteratorAggregate { Chris@14: /** Chris@14: * @var Requirement[] Chris@14: */ Chris@14: private $requirements = []; Chris@14: Chris@14: public function add(Requirement $requirement) { Chris@14: $this->requirements[] = $requirement; Chris@14: } Chris@14: Chris@14: /** Chris@14: * @return Requirement[] Chris@14: */ Chris@14: public function getRequirements() { Chris@14: return $this->requirements; Chris@14: } Chris@14: Chris@14: /** Chris@14: * @return int Chris@14: */ Chris@14: public function count() { Chris@14: return count($this->requirements); Chris@14: } Chris@14: Chris@14: /** Chris@14: * @return RequirementCollectionIterator Chris@14: */ Chris@14: public function getIterator() { Chris@14: return new RequirementCollectionIterator($this); Chris@14: } Chris@14: }