Class CommandLineInterface.UpdateCommand

java.lang.Object
AEDs3.CommandLineInterface.UpdateCommand
All Implemented Interfaces:
Runnable
Enclosing class:
CommandLineInterface

static class CommandLineInterface.UpdateCommand extends Object implements Runnable
Comando responsável por atualizar uma faixa de música existente no banco de dados.

Este comando permite ao usuário atualizar os campos de uma faixa existente no banco de dados, como nome, artistas, álbum, popularidade, entre outros. O comando solicita ao usuário os novos valores para os campos que deseja atualizar. Caso a operação seja cancelada ou ocorra algum erro, o processo de atualização será interrompido.

Se o banco de dados não estiver aberto, o comando informará que não há nenhum arquivo aberto.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) int
    ID da faixa a ser atualizada.
    Comando pai que permite acessar o banco de dados e exibir mensagens.
    (package private) org.jline.reader.LineReader
    Leitor de linha para entrada do usuário.
    private org.fusesource.jansi.Ansi
    Prompt à direita exibido na linha de comando durante a operação.
    (package private) Track.Field[]
    Campos que devem ser atualizados.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private String
    read(String prompt)
    Método auxiliar para ler os dados de entrada do usuário de maneira interativa.
    void
    run()
    Executa a atualização de uma faixa existente no banco de dados.
    private Track
    updateFields(int id, Track.Field[] fields)
    Atualiza os campos específicos de uma faixa.
    private Track
    updateFull(int id)
    Atualiza todos os campos de uma faixa, exceto o campo ID.

    Methods inherited from class java.lang.Object

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

    • rightPrompt

      private org.fusesource.jansi.Ansi rightPrompt
      Prompt à direita exibido na linha de comando durante a operação.
    • reader

      org.jline.reader.LineReader reader
      Leitor de linha para entrada do usuário.
    • selectedFields

      Track.Field[] selectedFields
      Campos que devem ser atualizados. Se não fornecido, todos os campos serão atualizados.
    • id

      int id
      ID da faixa a ser atualizada.
    • parent

      Comando pai que permite acessar o banco de dados e exibir mensagens.
  • Constructor Details

    • UpdateCommand

      UpdateCommand()
  • Method Details

    • read

      private String read(String prompt)
      Método auxiliar para ler os dados de entrada do usuário de maneira interativa.
      Parameters:
      prompt - Mensagem que será exibida ao usuário.
      Returns:
      O valor fornecido pelo usuário.
    • run

      public void run()
      Executa a atualização de uma faixa existente no banco de dados.

      O comando solicita ao usuário os novos valores para os campos a serem atualizados. Caso a operação seja cancelada ou ocorra algum erro, o processo de atualização será interrompido.

      Specified by:
      run in interface Runnable
      See Also:
    • updateFull

      private Track updateFull(int id) throws IOException
      Atualiza todos os campos de uma faixa, exceto o campo ID.
      Parameters:
      id - ID da faixa a ser atualizada.
      Returns:
      A faixa com os campos atualizados.
      Throws:
      IOException - Se ocorrer um erro durante a leitura ou escrita dos dados.
    • updateFields

      private Track updateFields(int id, Track.Field[] fields) throws IOException
      Atualiza os campos específicos de uma faixa.
      Parameters:
      id - ID da faixa a ser atualizada.
      fields - Campos a serem atualizados.
      Returns:
      A faixa com os campos atualizados.
      Throws:
      IOException - Se ocorrer um erro durante a leitura ou escrita dos dados.