private function setCollectionIntoIndex($index, CollectionInterface $collection) { $this->validateIndex($index); $firstPiece = array_slice($this->values, 0, $index); $secondPiece = array_slice($this->values, $index); $this->clear(); $this->values = array_merge($firstPiece, $collection->getAll(), $secondPiece); return true; }
public function setAll($index, CollectionInterface $collection) { $this->validateValueType($collection->getValueType()); $uniqueCollection = $collection->getDifference($this); return $this->setCollectionIntoIndex($index, $uniqueCollection); }
public function getDifference(CollectionInterface $collection) { $this->validateValueType($collection->getValueType()); $diffCollection = clone $this; $diffCollection->removeAny($collection); return $diffCollection; }
public function setAll($index, CollectionInterface $collection) { $this->validateValueType($collection->getValueType()); return $this->setCollectionIntoIndex($index, $collection); }