public abstract class AbstractMutableBeanFactory extends org.tangram.content.AbstractBeanFactory implements MutableBeanFactory
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.String,org.tangram.content.Content> |
cache |
protected java.util.Map<java.lang.Class<? extends org.tangram.content.Content>,java.util.List<java.lang.Class<? extends org.tangram.content.Content>>> |
implementingClassesMap
mapping from classes or interfaces to non abstract classes implementing them
|
protected java.util.List<java.lang.Class<? extends org.tangram.content.Content>> |
modelClasses |
protected static java.lang.String |
QUERY_CACHE_KEY |
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
queryCache |
protected org.tangram.PersistentRestartCache |
startupCache |
protected org.tangram.monitor.Statistics |
statistics |
protected java.util.Map<java.lang.String,java.lang.Class<? extends org.tangram.content.Content>> |
tableNameMapping |
| Constructor and Description |
|---|
AbstractMutableBeanFactory() |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(java.lang.Class<? extends org.tangram.content.Content> cls,
org.tangram.content.BeanListener listener)
attach a listener for any changes dealing with classes of the given type.
|
protected abstract <T extends org.tangram.content.Content> |
apiDelete(T bean)
Wrap API specific deletion call.
|
protected abstract <T extends org.tangram.content.Content> |
apiPersist(T bean)
Wrap API specific persistence call.
|
void |
clearCacheFor(java.lang.Class<? extends org.tangram.content.Content> cls)
clear caches for instances depending on the given type.
|
<T extends org.tangram.content.Content> |
createBean(java.lang.Class<T> cls)
remember that the newly created bean has to be persisted in the now open transaction!
|
<T extends org.tangram.content.Content> |
delete(T bean)
Delete a given bean from persistence storage.
|
protected <T extends org.tangram.content.Content> |
filterExactClass(java.lang.Class<T> cls,
java.util.List<? extends java.lang.Object> rawList,
java.util.List<T> filteredList)
Filter a list of objects for instances of a given class.
|
java.util.Set<java.lang.String> |
getBasePackages() |
<T extends org.tangram.content.Content> |
getBean(java.lang.Class<T> cls,
java.lang.String id) |
protected abstract <T extends org.tangram.content.Content> |
getBean(java.lang.Class<T> cls,
java.lang.String kind,
java.lang.String internalId) |
java.util.Collection<java.lang.Class<? extends org.tangram.content.Content>> |
getClasses()
return a collection of all content classes available for mutable contents.
|
protected <T extends org.tangram.content.Content> |
getClassForName(java.lang.String className)
Gets the class for a given type name.
|
protected java.lang.String |
getClassNamesCacheKey()
Cache key for the persistent cache to store all class names.
|
<T extends org.tangram.content.Content> |
getImplementingClasses(java.lang.Class<T> baseClass)
Get the classes implementing a given baseClass.
|
protected java.util.List<java.lang.Class<? extends org.tangram.content.Content>> |
getImplementingClassesForModelClass(java.lang.Class<? extends org.tangram.content.Content> baseClass) |
java.util.Map<java.lang.Class<? extends org.tangram.content.Content>,java.util.List<java.lang.Class<? extends org.tangram.content.Content>>> |
getImplementingClassesMap()
just to support JSP's weak calling of methods.
|
protected <T extends org.tangram.content.Content> |
getKeyClass(java.lang.String key)
Get class name from query cache key.
|
protected java.util.Map<java.lang.Class<? extends org.tangram.content.Content>,java.util.List<org.tangram.content.BeanListener>> |
getListeners() |
protected abstract boolean |
hasManager()
Check if the underlying API implementation of the bean factory really has the needed managing instance
of some sort at hand.
|
boolean |
isActivateCaching() |
boolean |
isActivateQueryCaching() |
<T extends org.tangram.content.Content> |
listBeans(java.lang.Class<T> cls,
java.lang.String queryString,
java.lang.String orderProperty,
java.lang.Boolean ascending) |
<T extends org.tangram.content.Content> |
persist(T bean)
Persist a given bean.
|
<T extends org.tangram.content.Content> |
persistUncommitted(T bean)
Persist a given bean and don't close the open transaction.
|
void |
setActivateCaching(boolean activateCaching) |
void |
setActivateQueryCaching(boolean activateQueryCaching) |
void |
setBasePackages(java.util.Set<java.lang.String> basePackages) |
convert, listBeans, listBeans, listBeans, listBeansOfExactClassclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbeginTransaction, commitTransaction, getAllClasses, getBaseClass, getManager, rollbackTransactionprotected static final java.lang.String QUERY_CACHE_KEY
@Inject protected org.tangram.monitor.Statistics statistics
@Inject protected org.tangram.PersistentRestartCache startupCache
protected java.util.Map<java.lang.Class<? extends org.tangram.content.Content>,java.util.List<java.lang.Class<? extends org.tangram.content.Content>>> implementingClassesMap
protected java.util.List<java.lang.Class<? extends org.tangram.content.Content>> modelClasses
protected java.util.Map<java.lang.String,java.lang.Class<? extends org.tangram.content.Content>> tableNameMapping
protected java.util.Map<java.lang.String,org.tangram.content.Content> cache
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryCache
public java.util.Set<java.lang.String> getBasePackages()
public void setBasePackages(java.util.Set<java.lang.String> basePackages)
public boolean isActivateCaching()
public void setActivateCaching(boolean activateCaching)
public boolean isActivateQueryCaching()
public void setActivateQueryCaching(boolean activateQueryCaching)
protected java.util.Map<java.lang.Class<? extends org.tangram.content.Content>,java.util.List<org.tangram.content.BeanListener>> getListeners()
protected abstract boolean hasManager()
protected abstract <T extends org.tangram.content.Content> void apiPersist(T bean)
T - bean - protected abstract <T extends org.tangram.content.Content> void apiDelete(T bean)
T - bean - public <T extends org.tangram.content.Content> T createBean(java.lang.Class<T> cls)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException
createBean in interface MutableBeanFactoryT - type of bean to createcls - instance of that typejava.lang.IllegalAccessExceptionjava.lang.InstantiationExceptionprotected java.lang.String getClassNamesCacheKey()
public <T extends org.tangram.content.Content> boolean persistUncommitted(T bean)
MutableBeanFactorypersistUncommitted in interface MutableBeanFactorypublic <T extends org.tangram.content.Content> boolean delete(T bean)
MutableBeanFactorydelete in interface MutableBeanFactorypublic <T extends org.tangram.content.Content> boolean persist(T bean)
MutableBeanFactorypersist in interface MutableBeanFactoryprotected <T extends org.tangram.content.Content> java.lang.Class<T> getClassForName(java.lang.String className)
T - content sub class described by given class nameclassName - fully qualified name of the classprotected <T extends org.tangram.content.Content> java.lang.Class<T> getKeyClass(java.lang.String key)
T - key - public void clearCacheFor(java.lang.Class<? extends org.tangram.content.Content> cls)
MutableBeanFactoryclearCacheFor in interface MutableBeanFactorypublic void addListener(java.lang.Class<? extends org.tangram.content.Content> cls,
org.tangram.content.BeanListener listener)
addListener in interface org.tangram.content.BeanFactorycls - listener - protected <T extends org.tangram.content.Content> void filterExactClass(java.lang.Class<T> cls,
java.util.List<? extends java.lang.Object> rawList,
java.util.List<T> filteredList)
T - cls - type to filter forrawList - filteredList - protected abstract <T extends org.tangram.content.Content> T getBean(java.lang.Class<T> cls,
java.lang.String kind,
java.lang.String internalId)
throws java.lang.Exception
java.lang.Exceptionpublic <T extends org.tangram.content.Content> T getBean(java.lang.Class<T> cls,
java.lang.String id)
getBean in interface org.tangram.content.BeanFactoryprotected java.util.List<java.lang.Class<? extends org.tangram.content.Content>> getImplementingClassesForModelClass(java.lang.Class<? extends org.tangram.content.Content> baseClass)
public java.util.Map<java.lang.Class<? extends org.tangram.content.Content>,java.util.List<java.lang.Class<? extends org.tangram.content.Content>>> getImplementingClassesMap()
getImplementingClassesMap in interface MutableBeanFactorypublic <T extends org.tangram.content.Content> java.util.List<java.lang.Class<T>> getImplementingClasses(java.lang.Class<T> baseClass)
getImplementingClasses in interface MutableBeanFactoryT - baseClass - public <T extends org.tangram.content.Content> java.util.List<T> listBeans(java.lang.Class<T> cls,
java.lang.String queryString,
java.lang.String orderProperty,
java.lang.Boolean ascending)
listBeans in interface org.tangram.content.BeanFactorypublic java.util.Collection<java.lang.Class<? extends org.tangram.content.Content>> getClasses()
MutableBeanFactorygetClasses in interface MutableBeanFactory