tigase.db
Class DataRepositoryPool

java.lang.Object
  extended by tigase.db.DataRepositoryPool
All Implemented Interfaces:
DataRepository

public class DataRepositoryPool
extends Object
implements DataRepository

Created: Sep 4, 2010 2:13:22 PM

Version:
$Rev$
Author:
Artur Hefczyc

Constructor Summary
DataRepositoryPool()
           
 
Method Summary
 void addRepo(DataRepository repo)
          Method description
 boolean checkTable(String tableName)
          Method description
 boolean checkTable(String tableName, String createTableQuery)
          The method checks whether a table for the given name exists in the database and if it does not, it automatically creates it.
 void commit()
          Commits current transaction on the DataRepository connection.
 Statement createStatement(tigase.xmpp.BareJID user_id)
          Method description
 void endTransaction()
          Ends current transaction on the DataRepository connection.
 PreparedStatement getPreparedStatement(tigase.xmpp.BareJID user_id, String stIdKey)
          Method description
 String getResourceUri()
          Method description
 void initPreparedStatement(String stIdKey, String query)
          Method description
 void initRepository(String resource_uri, Map<String,String> params)
          Method description
 void release(Statement stmt, ResultSet rs)
          Method description
 void releaseRepoHandle(DataRepository repo)
           
 void rollback()
          Rolls back started transaction on the DataRepository connection.
 void startTransaction()
          Starts transaction on the DataRepository connection.
 DataRepository takeRepo(tigase.xmpp.BareJID user_id)
          Method description
 DataRepository takeRepoHandle(tigase.xmpp.BareJID user_id)
          Returns DataRepository instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataRepositoryPool

public DataRepositoryPool()
Method Detail

addRepo

public void addRepo(DataRepository repo)
Method description

Parameters:
repo -

takeRepo

public DataRepository takeRepo(tigase.xmpp.BareJID user_id)
Method description

Returns:

takeRepoHandle

public DataRepository takeRepoHandle(tigase.xmpp.BareJID user_id)
Description copied from interface: DataRepository
Returns DataRepository instance. If this is a repository pool then it returns particular instance from the pool. It this is a real repository instance it returns itself. This is exclusive take, no other thread may use this handle until it is returned to the pool.

Specified by:
takeRepoHandle in interface DataRepository
Parameters:
user_id - is user account ID for which we acquire the handle.
Returns:
DataRepository instance.

releaseRepoHandle

public void releaseRepoHandle(DataRepository repo)
Specified by:
releaseRepoHandle in interface DataRepository

checkTable

public boolean checkTable(String tableName)
                   throws SQLException
Method description

Specified by:
checkTable in interface DataRepository
Parameters:
tableName -
Returns:
Throws:
SQLException

checkTable

public boolean checkTable(String tableName,
                          String createTableQuery)
                   throws SQLException
Description copied from interface: DataRepository
The method checks whether a table for the given name exists in the database and if it does not, it automatically creates it.

Specified by:
checkTable in interface DataRepository
Parameters:
tableName - is a String value of the table name to check
createTableQuery - is a String with the query to create table
Returns:
true boolean value if the table exist in the database and false if the table was not found.
Throws:
SQLException - if there was a problem accessing database.

createStatement

public Statement createStatement(tigase.xmpp.BareJID user_id)
                          throws SQLException
Method description

Specified by:
createStatement in interface DataRepository
Returns:
Throws:
SQLException

getPreparedStatement

public PreparedStatement getPreparedStatement(tigase.xmpp.BareJID user_id,
                                              String stIdKey)
                                       throws SQLException
Method description

Specified by:
getPreparedStatement in interface DataRepository
Parameters:
stIdKey -
Returns:
Throws:
SQLException

getResourceUri

public String getResourceUri()
Method description

Specified by:
getResourceUri in interface DataRepository
Returns:

initPreparedStatement

public void initPreparedStatement(String stIdKey,
                                  String query)
                           throws SQLException
Method description

Specified by:
initPreparedStatement in interface DataRepository
Parameters:
stIdKey -
query -
Throws:
SQLException

initRepository

public void initRepository(String resource_uri,
                           Map<String,String> params)
                    throws SQLException
Method description

Specified by:
initRepository in interface DataRepository
Parameters:
resource_uri -
params -
Throws:
SQLException

release

public void release(Statement stmt,
                    ResultSet rs)
Method description

Specified by:
release in interface DataRepository
Parameters:
stmt -
rs -

startTransaction

public void startTransaction()
                      throws SQLException
Description copied from interface: DataRepository
Starts transaction on the DataRepository connection. Please note that calling this method on the repository pool has no effect. You have to obtain particular repository handle first, before you can start transaction.

Specified by:
startTransaction in interface DataRepository
Throws:
SQLException

commit

public void commit()
            throws SQLException
Description copied from interface: DataRepository
Commits current transaction on the DataRepository connection. Please note that calling this method on the repository pool has no effect. You have to obtain particular repository handle first, before you can start transaction.

Specified by:
commit in interface DataRepository
Throws:
SQLException

rollback

public void rollback()
              throws SQLException
Description copied from interface: DataRepository
Rolls back started transaction on the DataRepository connection. Please note that calling this method on the repository pool has no effect. You have to obtain particular repository handle first, before you can start transaction.

Specified by:
rollback in interface DataRepository
Throws:
SQLException

endTransaction

public void endTransaction()
                    throws SQLException
Description copied from interface: DataRepository
Ends current transaction on the DataRepository connection. Please note that calling this method on the repository pool has no effect. You have to obtain particular repository handle first, before you can start transaction.

Specified by:
endTransaction in interface DataRepository
Throws:
SQLException


Copyright © 2013 Tigase. All rights reserved.