public abstract class MDRepositoryBean<T extends DataSourceAware> extends Object implements Initializable, UnregisterAware, RegistrarBeanWithDefaultBeanClass
| Modifier and Type | Class and Description |
|---|---|
static class |
MDRepositoryBean.MDRepositoryConfigBean<A extends DataSourceAware>
MDRepositoryConfigBean is bean responsible for basic management and initialization of repository for domain.
|
static class |
MDRepositoryBean.SelectorType
Determines behaviour of MDRepositoryBean.
|
| Modifier and Type | Field and Description |
|---|---|
protected ConcurrentHashMap<String,String> |
aliases |
protected MDRepositoryBean.SelectorType |
dataSourceSelection |
| Constructor and Description |
|---|
MDRepositoryBean() |
| Modifier and Type | Method and Description |
|---|---|
void |
beforeUnregister()
Method called before bean unregister.
|
protected abstract Class<? extends T> |
findClassForDataSource(DataSource dataSource)
Method returns class implementing repository which supports data source instance provided in parameter.
|
String |
getName()
Returns name of a bean
|
protected Map<String,T> |
getRepositories()
Provides access to unmodifiable map domain to repository instance
|
protected T |
getRepository(String domain)
Provides repository instance for passed domain name
|
void |
initialize()
Method will be called, when bean will be created, configured and ready to use.
|
protected void |
initializeRepository(String domain,
T repo)
Method called to initialized passed repository instance for passed domain.
|
protected void |
onDataSourceChange(DataSourceBean.DataSourceChangedEvent event) |
void |
register(Kernel kernel)
Method called when bean is being registered allowing developer to programatically register other beans.
|
void |
registerIfNotExists(String name) |
protected Stream<T> |
repositoriesStream()
Provides access to all available repository instances
|
void |
setDataSourceBean(DataSourceBean dataSourceBean) |
void |
unregister(Kernel kernel)
Method called while bean is being unregistered.
|
protected void |
updateDataSourceAware(String domain,
T newRepo,
T oldRepo)
Method called when repository instance for domain changes.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDefaultBeanClass@ConfigField(desc="Map of aliases for data sources to use") protected ConcurrentHashMap<String,String> aliases
@ConfigField(desc="Create repositories for: every UserRepository, every data source, listed data sources") protected MDRepositoryBean.SelectorType dataSourceSelection
public String getName()
public void setDataSourceBean(DataSourceBean dataSourceBean)
public void registerIfNotExists(String name)
public void register(Kernel kernel)
RegistrarBeanregister in interface RegistrarBeankernel - - instance from local scopepublic void unregister(Kernel kernel)
RegistrarBeanunregister in interface RegistrarBeankernel - - instance from local scopepublic void initialize()
Initializableinitialize in interface Initializablepublic void beforeUnregister()
UnregisterAwarebeforeUnregister in interface UnregisterAwareprotected abstract Class<? extends T> findClassForDataSource(DataSource dataSource) throws DBInitException
DBInitExceptionprotected Stream<T> repositoriesStream()
protected Map<String,T> getRepositories()
protected T getRepository(String domain)
@HandleEvent protected void onDataSourceChange(DataSourceBean.DataSourceChangedEvent event)
protected void initializeRepository(String domain, T repo)
Copyright © 2004–2021 "Tigase, Inc.". All rights reserved.