Class BTree.Page

java.lang.Object
AEDs3.DataBase.Index.BTree.Page
Enclosing class:
BTree

private class BTree.Page extends Object
Representa uma página na Árvore B, que contém elementos e filhos.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private BTree.Page[]
    Array de filhos da página.
    Array de registros de índice armazenados na página.
    private boolean
    Indica se a página está carregada na memória.
    private int
    Número de elementos na página.
    private long
    Posição da página no arquivo.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Page(int maxElements)
    Construtor para criar uma nova página com um número máximo de elementos.
    Page(long pos)
    Construtor para criar uma página a partir de uma posição específica no arquivo.
  • Method Summary

    Modifier and Type
    Method
    Description
    Obtém os filhos da página.
    Obtém os elementos da página.
    int
    Obtém o número de elementos na página.
    long
    Obtém a posição da página no arquivo.
    boolean
    Verifica se a página está carregada na memória.
    private void
    Carrega a página do arquivo para a memória, se ainda não estiver carregada.
    private void
    Salva o estado atual da Árvore B no arquivo.
    private void
    saveChildren(long[] childrenPositions, int i)
    Salva a posição dos filhos no arquivo.
    void
    setNumElements(int numElements)
    Define o número de elementos na página.
    void
    setPos(long pos)
    Define a posição da página no arquivo.
    void
    Descarrega a página da memória, liberando os recursos associados.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • numElements

      private int numElements
      Número de elementos na página.
    • elements

      private ForwardIndexRegister[] elements
      Array de registros de índice armazenados na página.
    • children

      private BTree.Page[] children
      Array de filhos da página.
    • loaded

      private boolean loaded
      Indica se a página está carregada na memória.
    • pos

      private long pos
      Posição da página no arquivo.
  • Constructor Details

    • Page

      public Page(int maxElements) throws IOException
      Construtor para criar uma nova página com um número máximo de elementos.
      Parameters:
      maxElements - O número máximo de elementos que a página pode conter.
      Throws:
      IOException - Se ocorrer um erro de I/O ao salvar a página.
    • Page

      public Page(long pos)
      Construtor para criar uma página a partir de uma posição específica no arquivo.
      Parameters:
      pos - A posição da página no arquivo.
  • Method Details

    • load

      private void load() throws IOException
      Carrega a página do arquivo para a memória, se ainda não estiver carregada.
      Throws:
      IOException - Se ocorrer um erro de I/O ao carregar a página.
    • save

      private void save() throws IOException
      Salva o estado atual da Árvore B no arquivo.
      Throws:
      IOException - Se ocorrer um erro de I/O ao escrever no arquivo.
    • saveChildren

      private void saveChildren(long[] childrenPositions, int i) throws IOException
      Salva a posição dos filhos no arquivo.
      Parameters:
      childrenPositions - Array de posições dos filhos.
      i - Índice do filho atual.
      Throws:
      IOException - Se ocorrer um erro de I/O ao escrever no arquivo.
    • unload

      public void unload()
      Descarrega a página da memória, liberando os recursos associados.
    • getNumElements

      public int getNumElements() throws IOException
      Obtém o número de elementos na página.
      Returns:
      O número de elementos na página.
      Throws:
      IOException - Se ocorrer um erro de I/O ao carregar a página.
    • setNumElements

      public void setNumElements(int numElements) throws IOException
      Define o número de elementos na página.
      Parameters:
      numElements - O novo número de elementos na página.
      Throws:
      IOException - Se ocorrer um erro de I/O ao carregar a página.
    • getElements

      public ForwardIndexRegister[] getElements() throws IOException
      Obtém os elementos da página.
      Returns:
      Um array de registros de índice na página.
      Throws:
      IOException - Se ocorrer um erro de I/O ao carregar a página.
    • getChildren

      public BTree.Page[] getChildren() throws IOException
      Obtém os filhos da página.
      Returns:
      Um array de páginas filhas.
      Throws:
      IOException - Se ocorrer um erro de I/O ao carregar a página.
    • isLoaded

      public boolean isLoaded()
      Verifica se a página está carregada na memória.
      Returns:
      true se a página estiver carregada, caso contrário false.
    • getPos

      public long getPos()
      Obtém a posição da página no arquivo.
      Returns:
      A posição da página no arquivo.
    • setPos

      public void setPos(long pos)
      Define a posição da página no arquivo.
      Parameters:
      pos - A nova posição da página no arquivo.