com.ibatis.db.dao
Class DaoManager

java.lang.Object
  extended by com.ibatis.db.dao.DaoManager

public class DaoManager
extends java.lang.Object

DaoManager is a facade class that provides convenient access to the rest of the DAO framework. It's primary responsibilities include:

- Reading configuration information and initializing the framework
- Managing different contexts for different configurations
- Providing access to Dao implementation
- Providing access to the DaoTransaction pool for transactions

Example DaoManager Usage:

DaoManager.configure (Resources.getResourceAsReader("com/ibatis/example/dao.xml"));
DaoManager daoManager = DaoManager.getInstance ("PetStore");
CategoryDao catDao = (CategoryDao) daoManager.getDao("Category");
DaoTransaction trans = daoManager.getTransaction();
ArrayList categoryList = catDao.getCategoryList (trans);
daoManager.releaseTransaction (trans);

Author:
clinton_begin

Field Summary
protected  java.util.Map daoClassMap
           
protected static java.util.Map daoContextMap
           
protected static java.util.Map daoManagerReverseLookup
           
protected  java.util.Map daoMap
           
protected static java.lang.String DEFAULT_CONTEXT_NAME
           
protected  java.util.Properties extraProperties
           
protected  boolean isDefaultContext
           
protected  java.lang.ThreadLocal localTransaction
           
protected  java.lang.String name
           
protected  DaoTransactionPool transactionPool
           
 
Constructor Summary
protected DaoManager()
           
 
Method Summary
 void addDaoClass(java.lang.String name, java.lang.String daoClass)
           
 void commitTransaction()
           
static void configure(java.io.InputStream in)
           
static void configure(java.io.Reader reader)
           
static void configure(java.io.Reader reader, java.util.Properties props)
           
 Dao getDao(java.lang.String name)
           
 java.lang.String getExtraProperty(java.lang.String name)
           
static DaoManager getInstance()
           
static DaoManager getInstance(Dao dao)
           
static DaoManager getInstance(java.lang.String contextName)
           
static java.util.Iterator getInstanceNames()
           
 DaoTransaction getLocalTransaction()
           
 java.lang.String getName()
           
 DaoTransaction getTransaction()
           
 DaoTransactionPool getTransactionPool()
           
protected  void initializeDaoObjects()
           
 boolean isDefault()
           
 boolean isTransactionStarted()
           
static DaoManager newInstance()
           
protected  void registerDao(java.lang.String name, Dao dao)
           
protected static void registerDaoManager(java.lang.Object contextName, DaoManager daoManager)
           
 void releaseTransaction(DaoTransaction trans)
           
 void rollbackTransaction()
           
 void setDefault(boolean defaultContext)
           
 void setExtraProperty(java.lang.String name, java.lang.String value)
           
 void setName(java.lang.String name)
           
 void setTransactionPool(DaoTransactionPool transactionPool)
           
 void startTransaction()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_CONTEXT_NAME

protected static final java.lang.String DEFAULT_CONTEXT_NAME
See Also:
Constant Field Values

daoManagerReverseLookup

protected static final java.util.Map daoManagerReverseLookup

daoContextMap

protected static final java.util.Map daoContextMap

name

protected java.lang.String name

isDefaultContext

protected boolean isDefaultContext

transactionPool

protected DaoTransactionPool transactionPool

extraProperties

protected java.util.Properties extraProperties

localTransaction

protected java.lang.ThreadLocal localTransaction

daoClassMap

protected java.util.Map daoClassMap

daoMap

protected java.util.Map daoMap
Constructor Detail

DaoManager

protected DaoManager()
Method Detail

configure

public static void configure(java.io.InputStream in)
                      throws DaoException
Throws:
DaoException

configure

public static void configure(java.io.Reader reader)
                      throws DaoException
Throws:
DaoException

configure

public static void configure(java.io.Reader reader,
                             java.util.Properties props)
                      throws DaoException
Throws:
DaoException

newInstance

public static DaoManager newInstance()

getInstanceNames

public static java.util.Iterator getInstanceNames()

getInstance

public static DaoManager getInstance()

getInstance

public static DaoManager getInstance(java.lang.String contextName)

getInstance

public static DaoManager getInstance(Dao dao)

getDao

public Dao getDao(java.lang.String name)

addDaoClass

public void addDaoClass(java.lang.String name,
                        java.lang.String daoClass)

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

isDefault

public boolean isDefault()

setDefault

public void setDefault(boolean defaultContext)

getExtraProperty

public java.lang.String getExtraProperty(java.lang.String name)

setExtraProperty

public void setExtraProperty(java.lang.String name,
                             java.lang.String value)

getTransactionPool

public DaoTransactionPool getTransactionPool()

setTransactionPool

public void setTransactionPool(DaoTransactionPool transactionPool)

getTransaction

public DaoTransaction getTransaction()
                              throws DaoException
Throws:
DaoException

releaseTransaction

public void releaseTransaction(DaoTransaction trans)
                        throws DaoException
Throws:
DaoException

isTransactionStarted

public boolean isTransactionStarted()
                             throws DaoException
Throws:
DaoException

startTransaction

public void startTransaction()
                      throws DaoException
Throws:
DaoException

getLocalTransaction

public DaoTransaction getLocalTransaction()
                                   throws DaoException
Throws:
DaoException

commitTransaction

public void commitTransaction()
                       throws DaoException
Throws:
DaoException

rollbackTransaction

public void rollbackTransaction()
                         throws DaoException
Throws:
DaoException

initializeDaoObjects

protected void initializeDaoObjects()
                             throws DaoException
Throws:
DaoException

registerDao

protected void registerDao(java.lang.String name,
                           Dao dao)

registerDaoManager

protected static void registerDaoManager(java.lang.Object contextName,
                                         DaoManager daoManager)