string DataDocumentManager::getlistOfTakenDocuments() { ByteString bs = this->fileVariableRecord->readNext(); string out = "Id | Autor | Titulo | Fecha\n"; while(!bs.isEmpty()) { Document document; document.Hidratate(bs); out.append(document.getDocumentFormatedText()); bs = this->fileVariableRecord->readNext(); } return out; }
Node* BPlusTree::hidratateNode(int numeroDeNodo) { ByteString byteStr = this->fileBlockManager->readBlock(numeroDeNodo); if (byteStr.isEmpty()) { return NULL; } else { int nivel = byteStr.readAsInt(0); if (nivel == 0) { LeafNode *nuevoNodoHoja = createLeafNode(); nuevoNodoHoja->Hidratate(byteStr); nuevoNodoHoja->number = numeroDeNodo; return nuevoNodoHoja; } else { InnerNode *nuevoNodoInterior = createInnerNode(nivel); nuevoNodoInterior->Hidratate(byteStr); nuevoNodoInterior->number = numeroDeNodo; return nuevoNodoInterior; } } }
bool Mediator::removeBook(int ID) { bool done = false; if(ID>0) { ByteString byteString = this->dataBookManager->getBook(ID); if(!byteString.isEmpty()) { bool isRemoved = this->dataBookManager->removeRecord(ID); if(isRemoved) { Book book; book.Hidratate(byteString); this->indexWrapper->removeFromAll(book); done = true; } } } return done; }
Node* ClassifBPlusTree::hidratateNode(int nodeNumber) { int block = fileBlockNodeMapper->getBlock(nodeNumber); ByteString byteStr = this->fileBlockManager->readBlock(block); if (byteStr.isEmpty()) { return NULL; } else { int nivel = byteStr.readAsInt(0); if (nivel == 0) { LeafNode *nuevoNodoHoja = createLeafNode(); nuevoNodoHoja->Hidratate(byteStr); nuevoNodoHoja->number = nodeNumber; return nuevoNodoHoja; } else { InnerNode *nuevoNodoInterior = createInnerNode(nivel); nuevoNodoInterior->Hidratate(byteStr); nuevoNodoInterior->number = nodeNumber; return nuevoNodoInterior; } } }