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