private function createContainers() { $ringDir = ONPHP_TEMP_PATH . 'tests/main/data/ring'; $converter = ObjectToDirectoryBinder::create(Singleton::getInstance('EntityProtoDirectoryItem'))->setDirectory($ringDir); $itemsConverter = $converter->cloneInnerBuilder('items'); $ringListHead = DirectoryItem::create()->setId('421'); $result = $itemsConverter->makeList(array($ringListHead)); $ringListHead->setInner($items[2] = DirectoryItem::create()->setId('422')->setInner($items[1] = DirectoryItem::create()->setId('423')->setInner($items[0] = DirectoryItem::create()->setId('424')->setInner($ringListHead)))); // storing head again to update inner link $items[3] = $ringListHead; $result = $itemsConverter->makeList($items); $mainContainer = DirectoryItem::create()->setTextField('main container'); $mainContainer->setInner($ringListHead); // storing the container with its link to ring list head $result = $converter->make($mainContainer); }
/** * @return PrototypedBuilder **/ public function makeReverseBuilder() { return ObjectToDirectoryBinder::create($this->proto)->setIdentityMap($this->identityMap); }