All Classes and Interfaces
Class
Description
Classe principal do programa que inicia a interface de linha de comando.
Classe responsável por realizar a ordenação externa por intercalação
balanceada.
Classe auxiliar que agrupa uma Track com o índice do arquivo em que está,
para uso com o PriorityQueue.
Classe auxiliar que agrupa uma Track com um peso, para uso com o
PriorityQueue.
Classe abstrata que representa uma faixa binária no banco de dados.
Classe auxiliar para leitura de faixas binárias a partir de um fluxo de
entrada.
Classe auxiliar para escrita de faixas binárias em um fluxo de saída.
Classe auxiliar para leitura de bits de uma stream de entrada.
Classe auxiliar para escrita de bits em uma stream de saída.
Implementa o algoritmo de Boyer-Moore para busca eficiente de padrões em
textos.
Classe que representa uma Árvore B, implementando a interface Index.
Classe principal de interface de linha de comando (CLI) para o gerenciamento
de arquivos TrackDB.
Comando principal para exibir informações sobre o programa e os comandos
disponíveis.
Comando para fechar o arquivo do banco de dados aberto.
Comando para comprimir o arquivo TrackDB aberto.
Comando responsável por criar uma nova faixa de música no banco de dados.
Comando para descomprimir um arquivo TrackDB.
Comando para descriptografar (e, se necessário, descomprimir) um arquivo especificado;
Comando responsável por deletar uma faixa de música no banco de dados a
partir do seu ID.
Comando para criptografar (e opcionalmente comprimir) o arquivo TrackDB
aberto.
Classe que implementa um iterador para completar nomes de arquivos.
Comando responsável por importar faixas de música a partir de um arquivo CSV.
Comando responsável por gerenciar o índice do banco de dados.
Classe interna que define o grupo de opções para escolher o tipo de índice a
ser
gerenciado.
Comando para exibir informações sobre o arquivo de banco de dados aberto.
Comando responsável por exibir os atalhos de teclado disponíveis no programa.
Comando responsável por gerar um par de chaves pública e privada para RSA.
Classe modificada para completar comandos usando Picocli.
Comando para abrir um banco de dados de faixas TrackDB.
Comando responsável por tocar uma faixa de música no Spotify.
Comando responsável por ler faixas de música no banco de dados, seja por ID
ou por campo específico.
Classe que contém as opções de filtro para a busca das faixas.
Comando responsável por ordenar o banco de dados utilizando o algoritmo de
ordenação externa Balanced Merge Sort (intercalação balanceada).
Comando responsável por atualizar uma faixa de música existente no banco de
dados.
Comando para exibir a ajuda do programa.
Enumeração que representa os tipos de compressão disponíveis.
Classe responsável por comprimir e descomprimir arquivos utilizando
diferentes algoritmos de compressão.
Implementação de um compressor que copia dados sem compressão.
Enumeração que representa os tipos de criptografia disponíveis.
Classe responsável por gerenciar a leitura de arquivos CSV que contêm dados
de faixas de música.
Interface para sistemas de criptografia que fornecem métodos para
criptografar e descriptografar arquivos.
A classe FilePacker fornece métodos para empacotar e desempacotar arquivos.
Enumeração que define as flags (marcas) utilizadas no cabeçalho do arquivo de
banco de dados.
Interface para definir operações básicas de um índice.
Classe que representa um registro de índice, contendo um ID e uma posição.
Implementação de um índice de tabela hash extensível.
Classe responsável pela compressão e descompressão de dados utilizando o
algoritmo de Huffman.
Classe auxiliar para decodificação (árvore de Huffman simplificada).
Classe auxiliar representando um nó na árvore de Huffman (para compressão).
Exceção lançada quando a ordem de uma Árvore B é inválida.
Razões pelas quais a ordem de uma Árvore B pode ser considerada inválida.
Exceção lançada quando a capacidade de uma Tabela Hash é inválida.
Razões pelas quais a capacidade de uma Tabela Hash pode ser considerada
inválida.
Classe que implementa um índice reverso por Lista Invertida.
Representa uma postagem em cache, contendo uma lista de IDs associados a uma
palavra e a frequência dessa palavra.
Classe auxiliar para armazenar informações sobre a localização de um bloco no
disco.
A classe KMP implementa o algoritmo de Knuth-Morris-Pratt para busca de
padrões em texto.
Classe interna que representa o resultado de uma ocorrência do padrão no
texto.
Esta classe implementa o algoritmo de compressão LZW para arquivos binários.
Classe auxiliar para representar uma sequência imutável de bytes.
Classe responsável pela criptografia híbrida de arquivos utilizando AES para
o conteúdo e RSA para a criptografia da chave AES.
Classe responsável por gerar e salvar chaves RSA em arquivos binários.
Classe responsável por carregar chaves RSA a partir de arquivos binários.
Interface para compressores de fluxo de dados.
Representa uma faixa de música no banco de dados.
Enum que define os campos que podem ser utilizados para busca na faixa.
Representa um banco de dados binário de faixas de música, permitindo
operações de CRUD (Criar, Ler, Atualizar e Deletar), filtragem e ordenação.
Classe interna que representa um filtro de busca para faixas.
A classe Vigenere fornece métodos para criptografar e descriptografar
arquivos usando a cifra de Vigenère.
A classe
VigenereKey representa uma chave para o algoritmo de cifra
de Vigenère.