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 Summary
Modifier and Type Method Description static IntermediaryQueryResult
empty()
Retorna umIntermediaryQueryResult
vazio.<T> T
get(Class<T> clazz)
Pega um elemento da query e o converte para o tipo especificado<T, U> org.apache.commons.lang3.tuple.Pair<T,U>
get(Class<T> rightClass, Class<U> leftClass)
int
getResultSize()
Retorna o tamanho do resultadoboolean
isPresent()
Retorna se o resultado da query está presente.static IntermediaryQueryResult
of(Statement statement, boolean inMemory)
Cria umIntermediaryQueryResult
a partir de umStatement
<T> List<T>
toList(Class<T> clazz)
Converte o resultado da query para umaList
de elementos do tipo especificado<T> T
toObject(Function<ResultSetWrapper,T> function)
<T> Set<T>
toObjectCollection(Function<ResultSetWrapper,T> function)
<T> Set<T>
toSet(Class<T> clazz)
Converte o resultado da query para umSet
de elementos do tipo especificado<T, U> Set<org.apache.commons.lang3.tuple.Pair<T,U>>
toSet(Class<T> rightClass, Class<U> leftClass)
-
Method Details
-
of
public static IntermediaryQueryResult of(Statement statement, boolean inMemory) throws SQLExceptionCria umIntermediaryQueryResult
a partir de umStatement
- Parameters:
statement
-Statement
utilizado para a queryinMemory
- 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
Retorna umIntermediaryQueryResult
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
Converte o resultado da query para umSet
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
- Throws:
SQLException
-
toObjectCollection
- 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
Converte o resultado da query para umaList
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
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
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
-