Class LazySqlQueryResult
- java.lang.Object
-
- org.ametys.plugins.externaldata.data.sql.LazySqlQueryResult
-
- All Implemented Interfaces:
Iterable<QueryResultRow>
,Iterator<QueryResultRow>
,QueryResult
public class LazySqlQueryResult extends Object implements QueryResult, Iterator<QueryResultRow>
SQL query result.
-
-
Field Summary
Fields Modifier and Type Field Description private Collection<String>
_columnNames
The column names.protected ResultSet
_resultSet
The wrapped ResultSetprotected Query.ResultType
_resultType
The result type.
-
Constructor Summary
Constructors Constructor Description LazySqlQueryResult(ResultSet resultSet)
Constructs a query result around aResultSet
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Collection<String>
_extractColumnNames(ResultSet resultSet)
Extract the column names of a JDBC result set.void
close()
Close and cleanup the underlying objects and resources (resultset if SQL, LDAP resources...) if needed.Collection<String>
getColumnNames()
Get the column names.int
getSize()
Get sizeQuery.ResultType
getType()
Get the type of the result.boolean
hasNext()
Iterator<QueryResultRow>
iterator()
QueryResultRow
next()
void
remove()
void
setType(Query.ResultType resultType)
Set the result type.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
_resultType
protected Query.ResultType _resultType
The result type.
-
_resultSet
protected ResultSet _resultSet
The wrapped ResultSet
-
_columnNames
private Collection<String> _columnNames
The column names.
-
-
Constructor Detail
-
LazySqlQueryResult
public LazySqlQueryResult(ResultSet resultSet)
Constructs a query result around aResultSet
.- Parameters:
resultSet
- the result set
-
-
Method Detail
-
getType
public Query.ResultType getType()
Description copied from interface:QueryResult
Get the type of the result.- Specified by:
getType
in interfaceQueryResult
- Returns:
- the result type.
-
getSize
public int getSize()
Description copied from interface:QueryResult
Get size- Specified by:
getSize
in interfaceQueryResult
- Returns:
- the size
-
setType
public void setType(Query.ResultType resultType)
Set the result type.- Parameters:
resultType
- the result type.
-
getColumnNames
public Collection<String> getColumnNames() throws DataInclusionException
Description copied from interface:QueryResult
Get the column names.- Specified by:
getColumnNames
in interfaceQueryResult
- Returns:
- the column names as a Collection.
- Throws:
DataInclusionException
- if an error occurs while manipulating the data sources
-
iterator
public Iterator<QueryResultRow> iterator()
- Specified by:
iterator
in interfaceIterable<QueryResultRow>
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfaceIterator<QueryResultRow>
-
next
public QueryResultRow next()
- Specified by:
next
in interfaceIterator<QueryResultRow>
-
remove
public void remove()
- Specified by:
remove
in interfaceIterator<QueryResultRow>
-
close
public void close()
Description copied from interface:QueryResult
Close and cleanup the underlying objects and resources (resultset if SQL, LDAP resources...) if needed.- Specified by:
close
in interfaceQueryResult
-
_extractColumnNames
protected Collection<String> _extractColumnNames(ResultSet resultSet) throws SQLException
Extract the column names of a JDBC result set.- Parameters:
resultSet
- the JDBC result set.- Returns:
- the column names as a Collection.
- Throws:
SQLException
- if an exception occurs when manipulating the result set
-
-