|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.vaadin.data.util.sqlcontainer.query.FreeformQuery
public class FreeformQuery
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.vaadin.data.util.sqlcontainer.query.QueryDelegate |
---|
QueryDelegate.RowIdChangeEvent, QueryDelegate.RowIdChangeListener, QueryDelegate.RowIdChangeNotifier |
Constructor Summary | |
---|---|
FreeformQuery(String queryString,
JDBCConnectionPool connectionPool,
String... primaryKeyColumns)
Creates a new freeform query delegate to be used with the SQLContainer . |
|
FreeformQuery(String queryString,
List<String> primaryKeyColumns,
JDBCConnectionPool connectionPool)
Deprecated. @see FreeformQuery(String, JDBCConnectionPool, String...) |
Method Summary | |
---|---|
void |
beginTransaction()
Reserves a connection with auto-commit off if no transaction is in progress. |
void |
commit()
Commits (if not in auto-commit mode) and releases the active connection. |
boolean |
containsRowWithKey(Object... keys)
This implementation of the containsRowWithKey method rewrites existing WHERE clauses in the query string. |
protected void |
ensureTransaction()
Check that a transaction is active. |
protected Connection |
getConnection()
Returns the currently active connection, reserves and returns a new connection if no active connection. |
int |
getCount()
This implementation of getCount() actually fetches all records from the database, which might be a performance issue. |
FreeformQueryDelegate |
getDelegate()
|
List<String> |
getPrimaryKeyColumns()
Returns a list of primary key column names. |
String |
getQueryString()
|
ResultSet |
getResults(int offset,
int pagelength)
Fetches the results for the query. |
boolean |
implementationRespectsPagingLimits()
Allows the SQLContainer implementation to check whether the QueryDelegate implementation implements paging in the getResults method. |
protected boolean |
isInTransaction()
|
protected void |
releaseConnection(Connection conn,
Statement statement,
ResultSet rs)
Closes a statement and a resultset, then releases the connection if it is not part of an active transaction. |
boolean |
removeRow(RowItem row)
Removes the given RowItem from the database. |
void |
rollback()
Rolls back and releases the active connection. |
void |
setDelegate(FreeformQueryDelegate delegate)
|
void |
setFilters(List<Container.Filter> filters)
Sets the filters to apply when performing the SQL query. |
void |
setOrderBy(List<OrderBy> orderBys)
Sets the order in which to retrieve rows from the database. |
int |
storeRow(RowItem row)
Stores a row in the database. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
@Deprecated public FreeformQuery(String queryString, List<String> primaryKeyColumns, JDBCConnectionPool connectionPool)
FreeformQuery(String, JDBCConnectionPool, String...)
SQLContainer
.
queryString
- The actual query to perform.primaryKeyColumns
- The primary key columns. Read-only mode is forced if this
parameter is null or empty.connectionPool
- the JDBCConnectionPool to use to open connections to the SQL
database.public FreeformQuery(String queryString, JDBCConnectionPool connectionPool, String... primaryKeyColumns)
SQLContainer
.
queryString
- The actual query to perform.connectionPool
- the JDBCConnectionPool to use to open connections to the SQL
database.primaryKeyColumns
- The primary key columns. Read-only mode is forced if none are
provided. (optional)Method Detail |
---|
public int getCount() throws SQLException
getCount
in interface QueryDelegate
SQLException
public ResultSet getResults(int offset, int pagelength) throws SQLException
getResults
in interface QueryDelegate
offset
- the first item of the page to loadpagelength
- the length of the page to load
SQLException
{@inheritDoc}
public boolean implementationRespectsPagingLimits()
QueryDelegate
implementationRespectsPagingLimits
in interface QueryDelegate
QueryDelegate.getResults(int, int)
public void setFilters(List<Container.Filter> filters) throws UnsupportedOperationException
QueryDelegate
setFilters
in interface QueryDelegate
filters
- The filters to apply.
UnsupportedOperationException
- if the implementation doesn't support filtering.public void setOrderBy(List<OrderBy> orderBys) throws UnsupportedOperationException
QueryDelegate
setOrderBy
in interface QueryDelegate
orderBys
- A list of the OrderBy conditions.
UnsupportedOperationException
- if the implementation doesn't support ordering.public int storeRow(RowItem row) throws SQLException
QueryDelegate
storeRow
in interface QueryDelegate
SQLException
public boolean removeRow(RowItem row) throws SQLException
QueryDelegate
removeRow
in interface QueryDelegate
row
- RowItem to be removed
SQLException
public void beginTransaction() throws UnsupportedOperationException, SQLException
beginTransaction
in interface QueryDelegate
SQLException
- if a connection could not be obtained or configured
UnsupportedOperationException
public void commit() throws UnsupportedOperationException, SQLException
commit
in interface QueryDelegate
SQLException
- if not in a transaction managed by this query
UnsupportedOperationException
public void rollback() throws UnsupportedOperationException, SQLException
rollback
in interface QueryDelegate
SQLException
- if not in a transaction managed by this query
UnsupportedOperationException
public List<String> getPrimaryKeyColumns()
QueryDelegate
getPrimaryKeyColumns
in interface QueryDelegate
public String getQueryString()
public FreeformQueryDelegate getDelegate()
public void setDelegate(FreeformQueryDelegate delegate)
public boolean containsRowWithKey(Object... keys) throws SQLException
containsRowWithKey
in interface QueryDelegate
keys
- the primary keys
SQLException
{@inheritDoc}
protected void ensureTransaction() throws SQLException
SQLException
- if no active transactionprotected void releaseConnection(Connection conn, Statement statement, ResultSet rs) throws SQLException
PreparedStatement
, its parameters are
cleared prior to closing the statement.
Although JDBC specification does state that closing a statement closes
its result set and closing a connection closes statements and result
sets, this method does try to close the result set and statement
explicitly whenever not null. This can guard against bugs in certain JDBC
drivers and reduce leaks in case e.g. closing the result set succeeds but
closing the statement or connection fails.
conn
- the connection to releasestatement
- the statement to close, may be null to skip closingrs
- the result set to close, may be null to skip closing
SQLException
- if closing the result set or the statement failsprotected Connection getConnection() throws SQLException
SQLException
protected boolean isInTransaction()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |