Package tigase.xmpp

Class XMPPSession


  • public class XMPPSession
    extends java.lang.Object
    XMPPSession class is a container class for all XMPPResourceConnection objects for particular user (i.e. all user's connected resources)
    • Constructor Detail

      • XMPPSession

        public XMPPSession​(java.lang.String username)
        Creates a new XMPPSession instance.
        Parameters:
        username - - localpart of user's JID
    • Method Detail

      • incPacketsCounter

        public void incPacketsCounter()
        Increments counter of processed packet for the given user session (i.e. all users connections in total)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getCommonSessionData

        public java.lang.Object getCommonSessionData​(java.lang.String key)
        Method returns a data for particular key which is common to all resource connections within this XMPPSession
        related to this XMPPSession object
        Parameters:
        key - for which data should be returned
      • getConnectionIds

        public JID[] getConnectionIds()
        Method returns an array of all ConnectionIDs related to this XMPPSession
      • getJIDs

        public JID[] getJIDs()
        Method returns an array of all FullJIDs related to this XMPPSession
      • getLiveTime

        public long getLiveTime()
        Method returns time of how long the session is active (in milliseconds)
      • getPacketsCounter

        public long getPacketsCounter()
        Returns number of processed packet for the given user session (i.e. all users connections in total)
      • getResourceConnection

        public XMPPResourceConnection getResourceConnection​(JID jid)
        Method returns XMPPResourceConnection for particular FullJID. In case there are no sessions null is returned, in case there is more than one active session a session with the highest priority is returned. In case there are still more than one connections with the same priority then the latest active one is returned.
        Parameters:
        jid - FullJID for which a XMPPResourceConnection should be returned
      • getResourceForConnectionId

        public XMPPResourceConnection getResourceForConnectionId​(JID connectionId)
        Method returns XMPPResourceConnection for particular ConnectionID. In case there is no session that match given ConnectionID then null is returned.
        Parameters:
        connectionId - ConnectionID for which XMPPResourceConnection should be returned
      • getResourceForJID

        public XMPPResourceConnection getResourceForJID​(JID jid)
        Method returns XMPPResourceConnection for particular FullJID (using resource name as determinant. In case there is no session that match - null is returned.
        Parameters:
        jid - FullJID for which a XMPPResourceConnection should be returned
      • getResourceForResource

        public XMPPResourceConnection getResourceForResource​(java.lang.String resource)
        Method returns XMPPResourceConnection for particular resource. In case there is no session that match - null is returned.
        Parameters:
        resource - resource string for which a XMPPResourceConnection should be returned
      • getUserName

        public java.lang.String getUserName()
        Method returns username that is related to this XMPPSession (i.e. mostly localpart of JID)
      • computeCommonSessionDataIfAbsent

        public java.lang.Object computeCommonSessionDataIfAbsent​(java.lang.String key,
                                                                 java.util.function.Function<java.lang.String,​java.lang.Object> valueFactory)
      • putCommonSessionData

        protected void putCommonSessionData​(java.lang.String key,
                                            java.lang.Object value)
        Method used to store data common for all connections of the user.
        Parameters:
        key - under which data should be store
        value - data to be stored
      • putCommonSessionDataIfAbsent

        protected java.lang.Object putCommonSessionDataIfAbsent​(java.lang.String key,
                                                                java.lang.Object value)
      • removeCommonSessionData

        protected java.lang.Object removeCommonSessionData​(java.lang.String key)
        Method used to remove data common for all connections of the user.
        Parameters:
        key - for which data should be removed