Package tigase.db
Class NonAuthUserRepositoryImpl
java.lang.Object
tigase.db.NonAuthUserRepositoryImpl
- All Implemented Interfaces:
NonAuthUserRepository
@Bean(name="nonAuthUserRepository",
parent=Kernel.class,
active=true,
exportable=true)
public class NonAuthUserRepositoryImpl
extends Object
implements NonAuthUserRepository
Created: May 3, 2010 1:23:45 PM
- Author:
- Artur Hefczyc
-
Field Summary
Fields inherited from interface tigase.db.NonAuthUserRepository
OFFLINE_DATA_NODE, PUBLIC_DATA_NODE
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor for beanNonAuthUserRepositoryImpl
(UserRepository userRep, BareJID defDomain, boolean autoCreateOffline) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addOfflineData
(BareJID user, String subnode, String key, String value) addDataList
method adds mode entries to existing data list associated with given key in repository under given node path.void
addOfflineDataList
(BareJID user, String subnode, String key, String[] list) addDataList
method adds mode entries to existing data list associated with given key in repository under given node path.getDomainTempData
(BareJID domain, String subnode, String key, String def) Retrieves and returns a value associated with given subnode and key from a publicly available space.getPublicData
(BareJID user, String subnode, String key, String def) getPublicData
method returns a value associated with given key for user repository in given subnode.String[]
getPublicDataList
(BareJID user, String subnode, String key) getPublicDataList
method returns array of values associated with given key ornull
if given key does not exist for given user ID in given node path.getTempData
(String subnode, String key, String def) Retrieves and returns a value associated with given subnode and key from a publicly available space.void
putDomainTempData
(BareJID domain, String subnode, String key, String value) The method allows to store some temporary data by the plugin in publicly available space.void
putTempData
(String subnode, String key, String value) The method allows to store some temporary data by the plugin in publicly available space.void
removeDomainTempData
(BareJID domain, String subnode, String key) The method allows to remove existing data stored in a temporary storage space associated with a given DNS domain.void
removeTempData
(String subnode, String key) The method allows to remove existing data stored in the Tigase instance specific temporary storage.
-
Constructor Details
-
NonAuthUserRepositoryImpl
public NonAuthUserRepositoryImpl(UserRepository userRep, BareJID defDomain, boolean autoCreateOffline) -
NonAuthUserRepositoryImpl
public NonAuthUserRepositoryImpl()Constructor for bean
-
-
Method Details
-
addOfflineData
public void addOfflineData(BareJID user, String subnode, String key, String value) throws UserNotFoundException, DataOverwriteException Description copied from interface:NonAuthUserRepository
addDataList
method adds mode entries to existing data list associated with given key in repository under given node path. This method is very similar tosetDataList(...)
except it doesn't remove existing data.- Specified by:
addOfflineData
in interfaceNonAuthUserRepository
- Parameters:
user
- aString
value of user ID for which data must be stored. User ID consists of user name and domain name.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the specified values list is to be associated.value
- aString
is an array of values to be assosiated with the specified key.- Throws:
UserNotFoundException
- if user id hasn't been found in reository.DataOverwriteException
-
addOfflineDataList
public void addOfflineDataList(BareJID user, String subnode, String key, String[] list) throws UserNotFoundException Description copied from interface:NonAuthUserRepository
addDataList
method adds mode entries to existing data list associated with given key in repository under given node path. This method is very similar tosetDataList(...)
except it doesn't remove existing data.- Specified by:
addOfflineDataList
in interfaceNonAuthUserRepository
- Parameters:
user
- aString
value of user ID for which data must be stored. User ID consists of user name and domain name.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the specified values list is to be associated.list
- aString[]
is an array of values to be assosiated with the specified key.- Throws:
UserNotFoundException
- if user id hasn't been found in reository.
-
getDomainTempData
public String getDomainTempData(BareJID domain, String subnode, String key, String def) throws TigaseDBException Description copied from interface:NonAuthUserRepository
Retrieves and returns a value associated with given subnode and key from a publicly available space. The space is specific to given virtual domain and is shared among all running cluster nodes. The data are stored in some temporary space outside of the registered user data so no information for registered users can be retrieved.- Specified by:
getDomainTempData
in interfaceNonAuthUserRepository
- Parameters:
domain
- is a DNS domain name with which the data is associated.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the needed value is associated.def
- aString
value which is returned in case if data for specified key does not exixist in repository.- Returns:
- a
String
value for a given subnode and key ordef]
if no entry has been found. - Throws:
TigaseDBException
- if there was an error during reading data from the repository.
-
getPublicData
public String getPublicData(BareJID user, String subnode, String key, String def) throws UserNotFoundException Description copied from interface:NonAuthUserRepository
getPublicData
method returns a value associated with given key for user repository in given subnode. If key is not found in repository given default value is returned.- Specified by:
getPublicData
in interfaceNonAuthUserRepository
- Parameters:
user
- aString
value of user ID for which data must be stored. User ID consists of user name and domain name.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the needed value is associated.def
- aString
value which is returned in case if data for specified key does not exixist in repository.- Returns:
- a
String
value for a given subnode and key ordef
if no entry has been found. - Throws:
UserNotFoundException
- if user id hasn't been found in reository.
-
getPublicDataList
public String[] getPublicDataList(BareJID user, String subnode, String key) throws UserNotFoundException Description copied from interface:NonAuthUserRepository
getPublicDataList
method returns array of values associated with given key ornull
if given key does not exist for given user ID in given node path.- Specified by:
getPublicDataList
in interfaceNonAuthUserRepository
- Parameters:
user
- aString
value of user ID for which data must be stored. User ID consists of user name and domain name.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the needed values list is associated.- Returns:
- a
String[]
value - Throws:
UserNotFoundException
- if user id hasn't been found in reository.
-
getTempData
Description copied from interface:NonAuthUserRepository
Retrieves and returns a value associated with given subnode and key from a publicly available space. The space is specific for the Tigase instance and is not shared among different cluster nodes. The data is stored in some temporary space outside of the registered user data. So no information for registered users can be retrieved.- Specified by:
getTempData
in interfaceNonAuthUserRepository
- Parameters:
subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the needed value is associated.def
- aString
value which is returned in case if data for specified key does not exixist in repository.- Returns:
- a
String
value for a given subnode and key ordef
if no entry has been found. - Throws:
TigaseDBException
- if there was an error during reading data from the repository.
-
putDomainTempData
public void putDomainTempData(BareJID domain, String subnode, String key, String value) throws TigaseDBException Description copied from interface:NonAuthUserRepository
The method allows to store some temporary data by the plugin in publicly available space. The space is specific to given virtual domain and is shared among all running cluster nodes. The data is stored in some place outside of the normal user space so no information for registered user can be overwriten.
If there is already a value for a given subnode and key it will be overwritten otherwise a new entry will be created.- Specified by:
putDomainTempData
in interfaceNonAuthUserRepository
- Parameters:
domain
- is a DNS domain name with which the data is associated.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the specified values list is to be associated.value
- aString
is an array of values to be assosiated with the specified key.- Throws:
TigaseDBException
- if there was an error during writing data to the repository.
-
putTempData
Description copied from interface:NonAuthUserRepository
The method allows to store some temporary data by the plugin in publicly available space. The space is specific for the Tigase instance and is not shared among different cluster nodes. The data is stored in some place outside of the normal user space so no information for registered user can be overwriten.
If there is already a value for a given subnode and key it will be overwritten otherwise a new entry will be created.- Specified by:
putTempData
in interfaceNonAuthUserRepository
- Parameters:
subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the specified values list is to be associated.value
- aString
is an array of values to be assosiated with the specified key.- Throws:
TigaseDBException
- if there was an error during writing data to the repository.
-
removeDomainTempData
public void removeDomainTempData(BareJID domain, String subnode, String key) throws TigaseDBException Description copied from interface:NonAuthUserRepository
The method allows to remove existing data stored in a temporary storage space associated with a given DNS domain.- Specified by:
removeDomainTempData
in interfaceNonAuthUserRepository
- Parameters:
domain
- is a DNS domain name with which the data is associated.subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the specified values list is to be associated.- Throws:
TigaseDBException
- if there was an error during writing data to the repository.
-
removeTempData
Description copied from interface:NonAuthUserRepository
The method allows to remove existing data stored in the Tigase instance specific temporary storage.- Specified by:
removeTempData
in interfaceNonAuthUserRepository
- Parameters:
subnode
- aString
value is a node path where data is stored. Node path has the same form as directory path on file system:/root/subnode1/subnode2
.key
- aString
with which the specified values list is to be associated.- Throws:
TigaseDBException
- if there was an error during writing data to the repository.
-