Package tigase.db

Class NonAuthUserRepositoryImpl

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addOfflineData​(BareJID user, java.lang.String subnode, java.lang.String key, java.lang.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, java.lang.String subnode, java.lang.String key, java.lang.String[] list)
      addDataList method adds mode entries to existing data list associated with given key in repository under given node path.
      java.lang.String getDomainTempData​(BareJID domain, java.lang.String subnode, java.lang.String key, java.lang.String def)
      Retrieves and returns a value associated with given subnode and key from a publicly available space.
      java.lang.String getPublicData​(BareJID user, java.lang.String subnode, java.lang.String key, java.lang.String def)
      getPublicData method returns a value associated with given key for user repository in given subnode.
      java.lang.String[] getPublicDataList​(BareJID user, java.lang.String subnode, java.lang.String key)
      getPublicDataList method returns array of values associated with given key or null if given key does not exist for given user ID in given node path.
      java.lang.String getTempData​(java.lang.String subnode, java.lang.String key, java.lang.String def)
      Retrieves and returns a value associated with given subnode and key from a publicly available space.
      void putDomainTempData​(BareJID domain, java.lang.String subnode, java.lang.String key, java.lang.String value)
      The method allows to store some temporary data by the plugin in publicly available space.
      void putTempData​(java.lang.String subnode, java.lang.String key, java.lang.String value)
      The method allows to store some temporary data by the plugin in publicly available space.
      void removeDomainTempData​(BareJID domain, java.lang.String subnode, java.lang.String key)
      The method allows to remove existing data stored in a temporary storage space associated with a given DNS domain.
      void removeTempData​(java.lang.String subnode, java.lang.String key)
      The method allows to remove existing data stored in the Tigase instance specific temporary storage.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NonAuthUserRepositoryImpl

        public NonAuthUserRepositoryImpl​(UserRepository userRep,
                                         BareJID defDomain,
                                         boolean autoCreateOffline)
      • NonAuthUserRepositoryImpl

        public NonAuthUserRepositoryImpl()
        Constructor for bean
    • Method Detail

      • addOfflineData

        public void addOfflineData​(BareJID user,
                                   java.lang.String subnode,
                                   java.lang.String key,
                                   java.lang.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 to setDataList(...) except it doesn't remove existing data.
        Specified by:
        addOfflineData in interface NonAuthUserRepository
        Parameters:
        user - a String value of user ID for which data must be stored. User ID consists of user name and domain name.
        subnode - a String 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 - a String with which the specified values list is to be associated.
        value - a String 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,
                                       java.lang.String subnode,
                                       java.lang.String key,
                                       java.lang.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 to setDataList(...) except it doesn't remove existing data.
        Specified by:
        addOfflineDataList in interface NonAuthUserRepository
        Parameters:
        user - a String value of user ID for which data must be stored. User ID consists of user name and domain name.
        subnode - a String 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 - a String with which the specified values list is to be associated.
        list - a String[] 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 java.lang.String getDomainTempData​(BareJID domain,
                                                  java.lang.String subnode,
                                                  java.lang.String key,
                                                  java.lang.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 interface NonAuthUserRepository
        Parameters:
        domain - is a DNS domain name with which the data is associated.
        subnode - a String 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 - a String with which the needed value is associated.
        def - a String 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 or def] if no entry has been found.
        Throws:
        TigaseDBException - if there was an error during reading data from the repository.
      • getPublicData

        public java.lang.String getPublicData​(BareJID user,
                                              java.lang.String subnode,
                                              java.lang.String key,
                                              java.lang.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 interface NonAuthUserRepository
        Parameters:
        user - a String value of user ID for which data must be stored. User ID consists of user name and domain name.
        subnode - a String 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 - a String with which the needed value is associated.
        def - a String 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 or def if no entry has been found.
        Throws:
        UserNotFoundException - if user id hasn't been found in reository.
      • getPublicDataList

        public java.lang.String[] getPublicDataList​(BareJID user,
                                                    java.lang.String subnode,
                                                    java.lang.String key)
                                             throws UserNotFoundException
        Description copied from interface: NonAuthUserRepository
        getPublicDataList method returns array of values associated with given key or null if given key does not exist for given user ID in given node path.
        Specified by:
        getPublicDataList in interface NonAuthUserRepository
        Parameters:
        user - a String value of user ID for which data must be stored. User ID consists of user name and domain name.
        subnode - a String 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 - a String with which the needed values list is associated.
        Returns:
        a String[] value
        Throws:
        UserNotFoundException - if user id hasn't been found in reository.
      • getTempData

        public java.lang.String getTempData​(java.lang.String subnode,
                                            java.lang.String key,
                                            java.lang.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 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 interface NonAuthUserRepository
        Parameters:
        subnode - a String 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 - a String with which the needed value is associated.
        def - a String 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 or def 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,
                                      java.lang.String subnode,
                                      java.lang.String key,
                                      java.lang.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 interface NonAuthUserRepository
        Parameters:
        domain - is a DNS domain name with which the data is associated.
        subnode - a String 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 - a String with which the specified values list is to be associated.
        value - a String 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

        public void putTempData​(java.lang.String subnode,
                                java.lang.String key,
                                java.lang.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 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 interface NonAuthUserRepository
        Parameters:
        subnode - a String 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 - a String with which the specified values list is to be associated.
        value - a String 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,
                                         java.lang.String subnode,
                                         java.lang.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 interface NonAuthUserRepository
        Parameters:
        domain - is a DNS domain name with which the data is associated.
        subnode - a String 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 - a String with which the specified values list is to be associated.
        Throws:
        TigaseDBException - if there was an error during writing data to the repository.
      • removeTempData

        public void removeTempData​(java.lang.String subnode,
                                   java.lang.String key)
                            throws TigaseDBException
        Description copied from interface: NonAuthUserRepository
        The method allows to remove existing data stored in the Tigase instance specific temporary storage.
        Specified by:
        removeTempData in interface NonAuthUserRepository
        Parameters:
        subnode - a String 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 - a String with which the specified values list is to be associated.
        Throws:
        TigaseDBException - if there was an error during writing data to the repository.