Class HashTableIndex.Bucket

java.lang.Object
AEDs3.DataBase.Index.HashTableIndex.Bucket
Enclosing class:
HashTableIndex

private class HashTableIndex.Bucket extends Object
Classe interna que representa um cesto (bucket) na tabela hash. Armazena registros de índice e gerencia a inserção, busca e remoção dentro do cesto.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) short
    Tamanho total do cesto.
    (package private) ArrayList<ForwardIndexRegister>
    Lista de registros de índice armazenados no cesto.
    (package private) short
    Tamanho de cada elemento no cesto.
    (package private) byte
    Profundidade local do cesto.
    (package private) short
    Número máximo de elementos que o cesto pode conter.
    (package private) short
    Número atual de elementos no cesto.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Bucket(int maxElements)
    Construtor do cesto com profundidade local padrão.
    Bucket(int maxElements, int localDepth)
    Construtor do cesto com profundidade local especificada.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    delete(int id)
    Remove um registro do cesto.
    void
    fromByteArray(byte[] buf)
    Inicializa o cesto a partir de um array de bytes.
    int
    Retorna o tamanho do cesto.
    void
    Insere um registro no cesto.
    boolean
    Verifica se o cesto está vazio.
    boolean
    Verifica se o cesto está cheio.
    search(int id)
    Busca um registro no cesto.
    byte[]
    Converte o cesto para um array de bytes.

    Methods inherited from class java.lang.Object

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

    • maxElements

      short maxElements
      Número máximo de elementos que o cesto pode conter.
    • elementSize

      short elementSize
      Tamanho de cada elemento no cesto.
    • bucketSize

      short bucketSize
      Tamanho total do cesto.
    • localDepth

      byte localDepth
      Profundidade local do cesto.
    • numElements

      short numElements
      Número atual de elementos no cesto.
    • elements

      Lista de registros de índice armazenados no cesto.
  • Constructor Details

    • Bucket

      public Bucket(int maxElements)
      Construtor do cesto com profundidade local padrão.
      Parameters:
      maxElements - Número máximo de elementos no cesto.
    • Bucket

      public Bucket(int maxElements, int localDepth)
      Construtor do cesto com profundidade local especificada.
      Parameters:
      maxElements - Número máximo de elementos no cesto.
      localDepth - Profundidade local do cesto.
  • Method Details

    • toByteArray

      public byte[] toByteArray() throws IOException
      Converte o cesto para um array de bytes.
      Returns:
      Array de bytes representando o cesto.
      Throws:
      IOException - Se ocorrer um erro de I/O.
    • fromByteArray

      public void fromByteArray(byte[] buf) throws IOException
      Inicializa o cesto a partir de um array de bytes.
      Parameters:
      buf - Array de bytes representando o cesto.
      Throws:
      IOException - Se ocorrer um erro de I/O.
    • insert

      public void insert(ForwardIndexRegister register)
      Insere um registro no cesto.
      Parameters:
      register - Registro a ser inserido.
    • search

      public ForwardIndexRegister search(int id)
      Busca um registro no cesto.
      Parameters:
      id - Identificador do registro.
      Returns:
      Registro encontrado ou null se não encontrado.
    • delete

      public boolean delete(int id)
      Remove um registro do cesto.
      Parameters:
      id - Identificador do registro.
      Returns:
      true se o registro foi removido, false caso contrário.
    • isEmpty

      public boolean isEmpty()
      Verifica se o cesto está vazio.
      Returns:
      true se o cesto está vazio, false caso contrário.
    • isFull

      public boolean isFull()
      Verifica se o cesto está cheio.
      Returns:
      true se o cesto está cheio, false caso contrário.
    • getSize

      public int getSize()
      Retorna o tamanho do cesto.
      Returns:
      Tamanho do cesto.