Class ForwardIndexRegister

java.lang.Object
AEDs3.DataBase.Index.ForwardIndexRegister
All Implemented Interfaces:
Externalizable, Serializable, Comparable<ForwardIndexRegister>

class ForwardIndexRegister extends Object implements Externalizable, Comparable<ForwardIndexRegister>
Classe que representa um registro de índice, contendo um ID e uma posição.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) int
    ID do registro de índice.
    (package private) long
    Posição do registro no arquivo.
    (package private) static final int
    Tamanho do registro de índice em bytes.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construtor padrão para criação de um registro de índice vazio.
    ForwardIndexRegister(int id, long pos)
    Construtor para criação de um registro de índice com ID e posição especificados.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Compara este registro de índice com outro baseado no ID.
    boolean
    Compara este registro de índice com o objeto especificado para igualdade.
    void
    fromByteArray(byte[] in)
    Reconstrói o registro de índice a partir de um array de bytes.
    int
    Obtém o ID do registro.
    long
    Obtém a posição do registro no arquivo.
    int
    Retorna o código hash para este registro de índice.
    void
    Lê os dados do registro de um fluxo de entrada.
    void
    Lê os dados do registro de um arquivo de acesso aleatório.
    void
    setId(int id)
    Define o ID do registro.
    void
    setPos(long pos)
    Define a posição do registro no arquivo.
    short
    Retorna o tamanho do registro de índice em bytes.
    byte[]
    Converte o registro de índice em um array de bytes.
    void
    Escreve os dados do registro em um fluxo de saída.
    void
    Escreve os dados do registro em um arquivo de acesso aleatório.

    Methods inherited from class java.lang.Object

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

    • id

      int id
      ID do registro de índice.
    • pos

      long pos
      Posição do registro no arquivo.
    • SIZE

      static final int SIZE
      Tamanho do registro de índice em bytes.
      See Also:
  • Constructor Details

    • ForwardIndexRegister

      public ForwardIndexRegister()
      Construtor padrão para criação de um registro de índice vazio.
    • ForwardIndexRegister

      public ForwardIndexRegister(int id, long pos)
      Construtor para criação de um registro de índice com ID e posição especificados.
      Parameters:
      id - O ID do registro.
      pos - A posição do registro no arquivo.
  • Method Details

    • hashCode

      public int hashCode()
      Retorna o código hash para este registro de índice.
      Overrides:
      hashCode in class Object
      Returns:
      O código hash calculado com base no ID do registro.
    • equals

      public boolean equals(Object obj)
      Compara este registro de índice com o objeto especificado para igualdade.
      Overrides:
      equals in class Object
      Parameters:
      obj - O objeto a ser comparado para igualdade.
      Returns:
      true se o objeto especificado for igual a este registro de índice, caso contrário, false.
    • compareTo

      public int compareTo(ForwardIndexRegister other)
      Compara este registro de índice com outro baseado no ID.
      Specified by:
      compareTo in interface Comparable<ForwardIndexRegister>
      Parameters:
      other - O outro registro de índice a ser comparado.
      Returns:
      Um valor negativo, zero ou positivo conforme este registro seja menor, igual ou maior que o outro.
    • readExternal

      public void readExternal(RandomAccessFile in) throws IOException
      Lê os dados do registro de um arquivo de acesso aleatório.
      Parameters:
      in - O arquivo de acesso aleatório de onde ler os dados.
      Throws:
      IOException - Se ocorrer um erro de I/O durante a operação.
    • writeExternal

      public void writeExternal(RandomAccessFile out) throws IOException
      Escreve os dados do registro em um arquivo de acesso aleatório.
      Parameters:
      out - O arquivo de acesso aleatório onde escrever os dados.
      Throws:
      IOException - Se ocorrer um erro de I/O durante a operação.
    • readExternal

      public void readExternal(ObjectInput in) throws IOException
      Lê os dados do registro de um fluxo de entrada.
      Specified by:
      readExternal in interface Externalizable
      Parameters:
      in - O fluxo de entrada de onde ler os dados.
      Throws:
      IOException - Se ocorrer um erro de I/O durante a operação.
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Escreve os dados do registro em um fluxo de saída.
      Specified by:
      writeExternal in interface Externalizable
      Parameters:
      out - O fluxo de saída onde escrever os dados.
      Throws:
      IOException - Se ocorrer um erro de I/O durante a operação.
    • toByteArray

      public byte[] toByteArray() throws IOException
      Converte o registro de índice em um array de bytes.
      Returns:
      Um array de bytes representando o registro de índice.
      Throws:
      IOException - Se ocorrer um erro de I/O durante a operação.
    • fromByteArray

      public void fromByteArray(byte[] in) throws IOException
      Reconstrói o registro de índice a partir de um array de bytes.
      Parameters:
      in - O array de bytes de onde ler os dados.
      Throws:
      IOException - Se ocorrer um erro de I/O durante a operação.
    • size

      public short size()
      Retorna o tamanho do registro de índice em bytes.
      Returns:
      O tamanho do registro de índice.
    • getId

      public int getId()
      Obtém o ID do registro.
      Returns:
      O ID do registro.
    • setId

      public void setId(int id)
      Define o ID do registro.
      Parameters:
      id - O novo ID do registro.
    • getPos

      public long getPos()
      Obtém a posição do registro no arquivo.
      Returns:
      A posição do registro.
    • setPos

      public void setPos(long pos)
      Define a posição do registro no arquivo.
      Parameters:
      pos - A nova posição do registro.