19 declare(strict_types=1);
42 ilImportStatusFactoryInterface $import_status,
43 array $initial_elements = []
46 $this->elements = $initial_elements;
52 return count($this->elements);
55 public function current(): ilManifestXMLFileHandlerInterface
60 public function next(): void
72 return 0 <= $this->index && $this->index < $this->
count();
81 ilManifestXMLFileHandlerCollectionInterface $other
82 ): ilManifestXMLFileHandlerCollectionInterface {
84 $clone->elements = array_merge($clone->toArray(), $other->toArray());
88 public function withElement(ilManifestXMLFileHandlerInterface $element): ilManifestXMLFileHandlerCollectionInterface
91 $clone->elements[] = $element;
97 foreach ($this->
toArray() as $manifest_file_handler) {
98 if ($manifest_file_handler->getExportObjectType() === $type) {
107 $status_collection = $this->import_status->collection()->withNumberingEnabled(
true);
108 foreach ($this as $manfiest_file_handler) {
109 $status_collection = $status_collection->getMergedCollectionWith(
110 $manfiest_file_handler->validateManifestXML()
113 return $status_collection;
119 public function findNextFiles(): ilManifestXMLFileHandlerCollectionInterface
121 $collection = clone $this;
122 $collection->rewind();
123 $collection->elements = [];
124 foreach ($this as $manfiest_file_handler) {
125 $collection = $collection->withMerged($manfiest_file_handler->findManifestXMLFileHandlers());
containsExportObjectType(ilExportObjectType $type)
withMerged(ilManifestXMLFileHandlerCollectionInterface $other)
__construct(ilImportStatusFactoryInterface $import_status, array $initial_elements=[])
withElement(ilManifestXMLFileHandlerInterface $element)
ilImportStatusFactoryInterface $import_status