public abstract class AbstractSDComponentRepositoryBean<Item extends RepositoryItem> extends SDRepositoryBean<ComponentRepositoryDataSourceAware<Item,DataSource>> implements ComponentRepository<Item>
Repository.Meta, Repository.SchemaId
COMP_REPO_BIND
Constructor and Description |
---|
AbstractSDComponentRepositoryBean() |
Modifier and Type | Method and Description |
---|---|
void |
addItem(Item item)
The method adds a new or updates existing Item in the repository.
|
void |
addItemNoStore(Item item)
The method adds a new or updates existing Item.
|
void |
addRepoChangeListener(RepositoryChangeListenerIfc<Item> repoChangeListener)
Adds a listener for repository Item change.
|
Collection<Item> |
allItems()
Returns a collection with all items stored in the repository.
|
boolean |
contains(String key)
The method checks whether the item is stored in the repository.
|
void |
destroy()
Method destroys this instance of ComponentRepository releasing resources allocated for this instance of
ComponentRepository if possible
|
void |
getDefaults(Map<String,Object> defs,
Map<String,Object> params)
Deprecated.
|
Item |
getItem(String key)
The method returns all item configuration parameters for a key or
null if the item does not exist in
the repository. |
Item |
getItemInstance()
Creates a new, uninitialized instance of the repository Item.
|
void |
initRepository(String resource_uri,
Map<String,String> params)
Method is deprecated and should not be user any more.
|
Iterator<Item> |
iterator() |
void |
reload()
This method is called to reload items from the database or other permanent storage.
|
void |
removeItem(String key)
The method is called to remove given Item from the memory cache and permanent storage.
|
void |
removeItemNoStore(String key) |
void |
removeRepoChangeListener(RepositoryChangeListenerIfc<Item> repoChangeListener)
Removes a listener for repository Item change.
|
void |
setAutoloadTimer(long delay)
Sets autoload task to periodically reload data from database.
|
void |
setProperties(Map<String,Object> properties)
Deprecated.
|
void |
setRepository(ComponentRepositoryDataSourceAware<Item,DataSource> repository) |
int |
size()
The method returns number of items in the repository.
|
void |
store()
The method is called to store all data in the database.
|
String |
toString() |
String |
validateItem(Item item)
Performs Item validation to check whether it meets the repository policy.
|
beanConfigurationChanged, beforeUnregister, findClassForDataSource, getDataSourceName, getName, getRepository, getRepositoryClassName, initialize, initializeRepository, onDataSourceChange, register, unregister
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public void setRepository(ComponentRepositoryDataSourceAware<Item,DataSource> repository)
setRepository
in class SDRepositoryBean<ComponentRepositoryDataSourceAware<Item extends RepositoryItem,DataSource>>
public void addRepoChangeListener(RepositoryChangeListenerIfc<Item> repoChangeListener)
ComponentRepository
addRepoChangeListener
in interface ComponentRepository<Item extends RepositoryItem>
public void removeRepoChangeListener(RepositoryChangeListenerIfc<Item> repoChangeListener)
ComponentRepository
removeRepoChangeListener
in interface ComponentRepository<Item extends RepositoryItem>
public void addItem(Item item) throws TigaseDBException
ComponentRepository
addItem
in interface ComponentRepository<Item extends RepositoryItem>
item
- a Item
with all it's configuration parameters.TigaseDBException
public void addItemNoStore(Item item)
ComponentRepository
addItemNoStore
in interface ComponentRepository<Item extends RepositoryItem>
item
- a Item
with all it's configuration parameters.public Collection<Item> allItems() throws TigaseDBException
ComponentRepository
allItems
in interface ComponentRepository<Item extends RepositoryItem>
TigaseDBException
public boolean contains(String key)
ComponentRepository
contains
in interface ComponentRepository<Item extends RepositoryItem>
key
- a String
with key to search for.boolean
value true
if the item exists in the repository or false
of it does not.public void destroy()
ComponentRepository
destroy
in interface ComponentRepository<Item extends RepositoryItem>
@Deprecated public void getDefaults(Map<String,Object> defs, Map<String,Object> params)
ComponentRepository
getDefaults
in interface ComponentRepository<Item extends RepositoryItem>
defs
- is a Map
collection where all repository configuration defaults must be put.params
- is a Map
collection with some preset properties for the server. These settings can be
used to adjust repository defaults, for example they can contain database connection URL or initial list of
virtual domains.public Item getItem(String key)
ComponentRepository
null
if the item does not exist in
the repository.getItem
in interface ComponentRepository<Item extends RepositoryItem>
key
- a String
with item identifier to search for.Item
for a given key or null
if the item is not in the repository.public Item getItemInstance()
ComponentRepository
getItemInstance
in interface ComponentRepository<Item extends RepositoryItem>
public void reload() throws TigaseDBException
ComponentRepository
reload
in interface ComponentRepository<Item extends RepositoryItem>
TigaseDBException
public void removeItem(String key) throws TigaseDBException
ComponentRepository
removeItem
in interface ComponentRepository<Item extends RepositoryItem>
key
- a String
with domain name to remove.TigaseDBException
public void removeItemNoStore(String key)
removeItemNoStore
in interface ComponentRepository<Item extends RepositoryItem>
@Deprecated public void setProperties(Map<String,Object> properties)
ComponentRepository
setProperties
in interface ComponentRepository<Item extends RepositoryItem>
properties
- a Map
with configuration settings. Content of this Map
must not be
modified. This read-only collection.public int size()
ComponentRepository
size
in interface ComponentRepository<Item extends RepositoryItem>
int
value with number of items in the repository.public void store() throws TigaseDBException
ComponentRepository
store
in interface ComponentRepository<Item extends RepositoryItem>
TigaseDBException
public String validateItem(Item item)
ComponentRepository
null
, otherwise it returns an error description.validateItem
in interface ComponentRepository<Item extends RepositoryItem>
item
- is an Item
object to perform validation checking upon.null
on success and an error message otherwise.public void setAutoloadTimer(long delay)
ComponentRepository
setAutoloadTimer
in interface ComponentRepository<Item extends RepositoryItem>
delay
- in seconds between each database reload.public Iterator<Item> iterator()
iterator
in interface Iterable<Item extends RepositoryItem>
public void initRepository(String resource_uri, Map<String,String> params) throws DBInitException
Repository
resource_uri
parameter as the database connection string or via
params
map if the required repository parameters are more complex or both.initRepository
in interface Repository
resource_uri
- value in most cases representing the database connection string.params
- is a Map
with repository properties necessary to initialize and perform all the
functions. The initialization parameters are implementation dependent.DBInitException
- if there was an error during repository initialization. Some implementations,
though, perform so called lazy initialization so even though there is a problem with the underlying repository it
may not be signaled through this method call.Copyright © 2004–2020 "Tigase, Inc.". All rights reserved.