Class IntermediaryQueryResult

java.lang.Object
br.ufsc.labsec.signature.database.query.IntermediaryQueryResult

public class IntermediaryQueryResult
extends Object
Representa o resultado de uma consulta ao banco de dados

Esta classe é utilizada para facilitar a conversão de um ResultSet para outra estrutura de dados.

Ela pode transformar um resultado em Integer, Long, Double, String, byte[] e agrupa-los em uma List ou Set.

No momento, ela só suporta o resultado de uma coluna.

  • Method Details

    • of

      public static IntermediaryQueryResult of​(Statement statement, boolean inMemory) throws SQLException
      Cria um IntermediaryQueryResult a partir de um Statement
      Parameters:
      statement - Statement utilizado para a query
      inMemory - Indica se o banco de dados está em memória
      Returns:
      IntermediaryQueryResult com o resultado da query
      Throws:
      SQLException - Exceção lançada caso ocorra algum erro no acesso ao banco de dados
    • empty

      public static IntermediaryQueryResult empty()
      Retorna um IntermediaryQueryResult vazio. Não é possível executar operações sobre ele.
      Returns:
      IntermediaryQueryResult vazio
      See Also:
      check(Class...)
    • isPresent

      public boolean isPresent()
      Retorna se o resultado da query está presente.

      Normalmente, o resultado da query não está presente quando a query não retorna nada, ou seja, não é um SELECT.

      Returns:
      True se o resultado da query está presente, false caso contrário
    • toSet

      public <T> Set<T> toSet​(Class<T> clazz) throws SQLException
      Converte o resultado da query para um Set de elementos do tipo especificado
      Type Parameters:
      T - Tipo do resultado
      Parameters:
      clazz - Classe para o qual o resultado será convertido
      Returns:
      Lista de elementos do tipo especificado
      Throws:
      SQLException - Exceção lançada caso ocorra algum erro no acesso ao banco de dados
    • toObject

      public <T> T toObject​(Function<ResultSetWrapper,​T> function) throws SQLException
      Throws:
      SQLException
    • toObjectCollection

      public <T> Set<T> toObjectCollection​(Function<ResultSetWrapper,​T> function) throws SQLException
      Throws:
      SQLException
    • toSet

      public <T,​ U> Set<org.apache.commons.lang3.tuple.Pair<T,​U>> toSet​(Class<T> rightClass, Class<U> leftClass) throws SQLException
      Throws:
      SQLException
    • toList

      public <T> List<T> toList​(Class<T> clazz) throws SQLException
      Converte o resultado da query para uma List de elementos do tipo especificado
      Type Parameters:
      T - Tipo do resultado
      Parameters:
      clazz - Classe para o qual o resultado será convertido
      Returns:
      Lista de elementos do tipo especificado
      Throws:
      SQLException - Exceção lançada caso ocorra algum erro no acesso ao banco de dados
    • get

      public <T> T get​(Class<T> clazz) throws SQLException
      Pega um elemento da query e o converte para o tipo especificado
      Type Parameters:
      T - Tipo do resultado
      Parameters:
      clazz - Classe para o qual o resultado será convertido
      Returns:
      O resultado convertido
      Throws:
      SQLException - Exceção lançada caso ocorra algum erro no acesso ao banco de dados
    • get

      public <T,​ U> org.apache.commons.lang3.tuple.Pair<T,​U> get​(Class<T> rightClass, Class<U> leftClass) throws SQLException
      Throws:
      SQLException
    • getResultSize

      public int getResultSize() throws SQLException
      Retorna o tamanho do resultado
      Returns:
      O tamanho do resultado
      Throws:
      SQLException - Exceção lançada caso ocorra algum erro no acesso ao banco de dados