com.j256.ormlite.dao
Class DaoManager

java.lang.Object
  extended by com.j256.ormlite.dao.DaoManager

public class DaoManager
extends Object

Class which caches created DAOs. Sometimes internal DAOs are used to support such features as auto-refreshing of foreign fields or collections of sub-objects. Since instantiation of the DAO is a bit expensive, this class is used in an attempt to only create a DAO once for each class.

NOTE: To use this cache, you should make sure you've added a DatabaseTable.daoClass() value to the annotation to the top of your class.

Author:
graywatson

Constructor Summary
DaoManager()
           
 
Method Summary
static void clearCache()
          Clear out the cache.
static
<D extends Dao<T,?>,T>
D
createDao(ConnectionSource connectionSource, Class<T> clazz)
          Helper method to create a Dao object without having to define a class.
static
<D extends Dao<T,?>,T>
D
createDao(ConnectionSource connectionSource, DatabaseTableConfig<T> tableConfig)
          Helper method to create a Dao object without having to define a class.
static void registerDao(ConnectionSource connectionSource, Dao<?,?> dao)
          Register the dao with the cache inside of this class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DaoManager

public DaoManager()
Method Detail

createDao

public static <D extends Dao<T,?>,T> D createDao(ConnectionSource connectionSource,
                                                 Class<T> clazz)
                                    throws SQLException
Helper method to create a Dao object without having to define a class. This checks to see if the Dao has already been created. If not then it is a call through to BaseDaoImpl.createDao(ConnectionSource, Class).

Throws:
SQLException

createDao

public static <D extends Dao<T,?>,T> D createDao(ConnectionSource connectionSource,
                                                 DatabaseTableConfig<T> tableConfig)
                                    throws SQLException
Helper method to create a Dao object without having to define a class. This checks to see if the Dao has already been created. If not then it is a call through to BaseDaoImpl.createDao(ConnectionSource, DatabaseTableConfig).

Throws:
SQLException

registerDao

public static void registerDao(ConnectionSource connectionSource,
                               Dao<?,?> dao)
Register the dao with the cache inside of this class. This will allow folks to build a DAO externally and then register so it can be used internally as necessary.

NOTE: It is better to use the DatabaseTable.daoClass() and have the DaoManager construct the DAO if possible.


clearCache

public static void clearCache()
Clear out the cache.



Copyright © 2011. All Rights Reserved.