tigase.xmpp
Class XMPPResourceConnection

java.lang.Object
  extended by tigase.xmpp.RepositoryAccess
      extended by tigase.xmpp.XMPPResourceConnection
Direct Known Subclasses:
SMResourceConnection

public class XMPPResourceConnection
extends RepositoryAccess

Describe class XMPPResourceConnection here. Created: Wed Feb 8 22:30:37 2006

Version:
$Rev$
Author:
Artur Hefczyc

Field Summary
static String PRESENCE_KEY
          Constant PRESENCE_KEY is a key in temporary session data where the last presence sent by the userto server is stored, either initial presence or off-line presence before disconnecting.
 
Fields inherited from class tigase.xmpp.RepositoryAccess
domain, NO_ACCESS_TO_REP_MSG, NOT_AUTHORIZED_MSG
 
Constructor Summary
XMPPResourceConnection(tigase.xmpp.JID connectionId, UserRepository rep, UserAuthRepository authRepo, SessionManagerHandler loginHandler)
          Creates a new XMPPResourceConnection instance.
 
Method Summary
 List<XMPPResourceConnection> getActiveSessions()
          Method description
 tigase.xmpp.JID[] getAllResourcesJIDs()
          Method description
 long getAuthTime()
          Method description
 tigase.xmpp.BareJID getBareJID()
          Returns user JID but without resource part.
 Object getCommonSessionData(String key)
           
 tigase.xmpp.JID getConnectionId()
          Gets the value of connectionId
 tigase.xmpp.JID getConnectionId(tigase.xmpp.JID jid)
          Method description
 ConnectionStatus getConnectionStatus()
          Method description
 long getCreationTime()
          Method description
 String getDefLang()
          Method description
 tigase.xmpp.JID getjid()
          Returns full user JID for this session without throwing the NotAuthorizedException exception if session is not authorized yet and therefore user name and resource is not known yet.
 tigase.xmpp.JID getJID()
          Returns full user JID for this session or throws NotAuthorizedException if session is not authorized yet and therefore user name and resource is not known yet.
 long getLastAccessed()
          Gets the value of lastAccessed
 XMPPSession getParentSession()
          Method description
 tigase.xml.Element getPresence()
          Returns last presence packet with the user presence status or null if the user has not yet sent an initial presence.
 int getPriority()
          Method description
 String getResource()
          Gets the value of resource
 Object getSessionData(String key)
          Retrieves session data.
 String getSessionId()
          Gets the value of sessionId
 tigase.xmpp.JID getSMComponentId()
          Method description
 tigase.xmpp.BareJID getUserId()
          Deprecated.  
 String getUserName()
          Method description
 boolean isAuthorized()
          Method description
 boolean isLocalDomain(String outDomain, boolean includeComponents)
          Method description
 boolean isResourceSet()
          Method description
 boolean isServerSession()
          Returns information whether this is a server (SessionManager) session or normal user session.
 boolean isUserId(tigase.xmpp.BareJID bareJID)
          Method description
protected  void login()
           
 Authorization loginDigest(String user, String digest, String id, String alg)
          Method description
 Authorization loginOther(Map<String,Object> props)
          Method description
 Authorization loginPlain(String user, String password)
          Method description
 void logout()
          Method description
 String nextStanzaId()
          Method description
 void putCommonSessionData(String key, Object value)
          Method description
 void putSessionData(String key, Object value)
          Saves given session data.
 void queryAuth(Map<String,Object> authProps)
          Method description
 Object removeCommonSessionData(String key)
          Method description
 void removeParentSession(XMPPSession parent)
          Method description
 void removeSessionData(String key)
          Method description
 void setConnectionStatus(ConnectionStatus status)
          Method description
 void setDefLang(String lang)
          Method description
 void setLastAccessed(long argLastAccessed)
          Sets the value of lastAccessed
 void setParentSession(XMPPSession parent)
          Method description
 void setPresence(tigase.xml.Element packet)
          Method description
 void setPriority(int priority)
          Method description
 void setResource(String argResource)
          Sets the connection resource
 void setSessionId(String argSessionId)
          Sets the value of sessionId
 void streamClosed()
          Method description
 String toString()
          Method description
 Authorization unregister(String name_param)
          Method description
 
Methods inherited from class tigase.xmpp.RepositoryAccess
addDataList, addOfflineDataList, addPublicDataList, getAuthenticationToken, getAuthState, getData, getDataGroups, getDataKeys, getDataList, getDomain, getDomainAsJID, getOfflineData, getOfflineDataList, getPublicData, getPublicDataList, isAnonymous, loginToken, register, register, removeData, removeDataGroup, removeOfflineData, removeOfflineDataGroup, removePublicData, removePublicDataGroup, setData, setDataList, setDomain, setOfflineData, setOfflineDataList, setPublicData, setPublicDataList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PRESENCE_KEY

public static final String PRESENCE_KEY
Constant PRESENCE_KEY is a key in temporary session data where the last presence sent by the userto server is stored, either initial presence or off-line presence before disconnecting.

See Also:
Constant Field Values
Constructor Detail

XMPPResourceConnection

public XMPPResourceConnection(tigase.xmpp.JID connectionId,
                              UserRepository rep,
                              UserAuthRepository authRepo,
                              SessionManagerHandler loginHandler)
Creates a new XMPPResourceConnection instance.

Parameters:
connectionId -
rep -
authRepo -
loginHandler -
Method Detail

getActiveSessions

public List<XMPPResourceConnection> getActiveSessions()
                                               throws NotAuthorizedException
Method description

Returns:
Throws:
NotAuthorizedException

getAllResourcesJIDs

public tigase.xmpp.JID[] getAllResourcesJIDs()
Method description

Returns:

getAuthTime

public long getAuthTime()
Method description

Returns:

getBareJID

public final tigase.xmpp.BareJID getBareJID()
                                     throws NotAuthorizedException
Returns user JID but without resource part. This is real user ID not session ID. To retrieve session ID - full JID refer to getJID() method.
If session has not been authorized yet this method throws NotAuthorizedException.

Specified by:
getBareJID in class RepositoryAccess
Returns:
a String value of user ID - this is user JID without resource part. To obtain full user JID please refer to getJID method.
Throws:
NotAuthorizedException - when this session has not been authorized yet and some parts of user JID are not known yet.
See Also:
getJID()

getCommonSessionData

public Object getCommonSessionData(String key)
Parameters:
key -
Returns:

getConnectionId

public tigase.xmpp.JID getConnectionId()
                                throws NoConnectionIdException
Gets the value of connectionId

Returns:
the value of connectionId
Throws:
NoConnectionIdException

getConnectionId

public tigase.xmpp.JID getConnectionId(tigase.xmpp.JID jid)
                                throws NoConnectionIdException
Method description

Parameters:
jid -
Returns:
Throws:
NoConnectionIdException

getConnectionStatus

public ConnectionStatus getConnectionStatus()
Method description

Returns:

getCreationTime

public long getCreationTime()
Method description

Returns:

getDefLang

public String getDefLang()
Method description

Returns:

getJID

public final tigase.xmpp.JID getJID()
                             throws NotAuthorizedException
Returns full user JID for this session or throws NotAuthorizedException if session is not authorized yet and therefore user name and resource is not known yet.

Returns:
a String value of calculated user full JID for this session including resource name.
Throws:
NotAuthorizedException

getLastAccessed

public long getLastAccessed()
Gets the value of lastAccessed

Returns:
the value of lastAccessed

getParentSession

public XMPPSession getParentSession()
Method description

Returns:

getPresence

public tigase.xml.Element getPresence()
Returns last presence packet with the user presence status or null if the user has not yet sent an initial presence.

Returns:
an Element with last presence status received from the user.

getPriority

public int getPriority()
Method description

Returns:

getResource

public String getResource()
Gets the value of resource

Returns:
the value of resource

getSMComponentId

public tigase.xmpp.JID getSMComponentId()
Method description

Returns:

getSessionData

public final Object getSessionData(String key)
Retrieves session data. This method gives access to temporary session data only. You can retrieve earlier saved data giving key ID to receive needed value. Please see putSessionData description for more details.

Parameters:
key - a String value of stored data ID.
Returns:
a Object value of data for given key.
See Also:
putSessionData(String, Object)

getSessionId

public String getSessionId()
Gets the value of sessionId

Returns:
the value of sessionId

getUserId

@Deprecated
public tigase.xmpp.BareJID getUserId()
                              throws NotAuthorizedException
Deprecated. 

To get the user bare JID please use getBareJID method, to check the whether the user with given BareJID is owner of the session please use method isUserId(...). From now one the user session may handle more than a single userId, hence getting just userId is not enough to check whether the user Id belongs to the session.

Returns:
Throws:
NotAuthorizedException

getUserName

public final String getUserName()
                         throws NotAuthorizedException
Method description

Specified by:
getUserName in class RepositoryAccess
Returns:
Throws:
NotAuthorizedException

getjid

public final tigase.xmpp.JID getjid()
Returns full user JID for this session without throwing the NotAuthorizedException exception if session is not authorized yet and therefore user name and resource is not known yet. Please note this method if for logging using only to avoid excessive use of try/catch for debugging code. It may return null.

Returns:
a String value of calculated user full JID for this session including resource name.

isAuthorized

public boolean isAuthorized()
Method description

Overrides:
isAuthorized in class RepositoryAccess
Returns:

isLocalDomain

public boolean isLocalDomain(String outDomain,
                             boolean includeComponents)
Method description

Parameters:
outDomain -
includeComponents -
Returns:

isResourceSet

public boolean isResourceSet()
Method description

Returns:

isServerSession

public boolean isServerSession()
Returns information whether this is a server (SessionManager) session or normal user session. The server session is used to handle packets addressed to the server itself (local domain name).

Returns:
a boolean value of true if this is the server session and false otherwise.

isUserId

public boolean isUserId(tigase.xmpp.BareJID bareJID)
                 throws NotAuthorizedException
Method description

Parameters:
bareJID -
Returns:
Throws:
NotAuthorizedException

loginDigest

public final Authorization loginDigest(String user,
                                       String digest,
                                       String id,
                                       String alg)
                                throws NotAuthorizedException,
                                       AuthorizationException,
                                       TigaseDBException
Method description

Overrides:
loginDigest in class RepositoryAccess
Parameters:
user -
digest -
id -
alg -
Returns:
Throws:
AuthorizationException
NotAuthorizedException
TigaseDBException

loginOther

public final Authorization loginOther(Map<String,Object> props)
                               throws NotAuthorizedException,
                                      AuthorizationException,
                                      TigaseDBException
Method description

Overrides:
loginOther in class RepositoryAccess
Parameters:
props -
Returns:
Throws:
AuthorizationException
NotAuthorizedException
TigaseDBException

loginPlain

public final Authorization loginPlain(String user,
                                      String password)
                               throws NotAuthorizedException,
                                      AuthorizationException,
                                      TigaseDBException
Method description

Overrides:
loginPlain in class RepositoryAccess
Parameters:
user -
password -
Returns:
Throws:
AuthorizationException
NotAuthorizedException
TigaseDBException

logout

public final void logout()
                  throws NotAuthorizedException
Method description

Overrides:
logout in class RepositoryAccess
Throws:
NotAuthorizedException

nextStanzaId

public String nextStanzaId()
Method description

Returns:

putCommonSessionData

public void putCommonSessionData(String key,
                                 Object value)
Method description

Parameters:
key -
value -

putSessionData

public final void putSessionData(String key,
                                 Object value)
Saves given session data. Data are saved to temporary storage only and are accessible during this session life only and only from this session instance.
Any Object can be stored and retrieved through getSessionData(...).
To access permanent storage to keep data between session instances you must use one of get/setData...(...) methods familly. They gives you access to hierachical permanent data base. Permanent data base however can be accessed after successuf authorization while session storage is availble all the time.

Parameters:
key - a String value of stored data key ID.
value - a Object value of data stored in session.
See Also:
getSessionData(String)

queryAuth

public void queryAuth(Map<String,Object> authProps)
Method description

Overrides:
queryAuth in class RepositoryAccess
Parameters:
authProps -

removeCommonSessionData

public Object removeCommonSessionData(String key)
Method description

Parameters:
key -
Returns:

removeParentSession

public void removeParentSession(XMPPSession parent)
Method description

Parameters:
parent -

removeSessionData

public final void removeSessionData(String key)
Method description

Parameters:
key -

setConnectionStatus

public void setConnectionStatus(ConnectionStatus status)
Method description

Parameters:
status -

setDefLang

public void setDefLang(String lang)
Method description

Parameters:
lang -

setLastAccessed

public void setLastAccessed(long argLastAccessed)
Sets the value of lastAccessed

Parameters:
argLastAccessed - Value to assign to this.lastAccessed

setParentSession

public void setParentSession(XMPPSession parent)
                      throws tigase.util.TigaseStringprepException
Method description

Parameters:
parent -
Throws:
tigase.util.TigaseStringprepException

setPresence

public void setPresence(tigase.xml.Element packet)
Method description

Parameters:
packet -

setPriority

public void setPriority(int priority)
Method description

Parameters:
priority -

setResource

public void setResource(String argResource)
                 throws NotAuthorizedException,
                        tigase.util.TigaseStringprepException
Sets the connection resource

Parameters:
argResource - Value to assign to this.resource
Throws:
NotAuthorizedException
tigase.util.TigaseStringprepException

setSessionId

public void setSessionId(String argSessionId)
Sets the value of sessionId

Parameters:
argSessionId - Value to assign to this.sessionId

streamClosed

public void streamClosed()
Method description


toString

public String toString()
Method description

Overrides:
toString in class Object
Returns:

unregister

public Authorization unregister(String name_param)
                         throws NotAuthorizedException,
                                TigaseDBException
Method description

Overrides:
unregister in class RepositoryAccess
Parameters:
name_param -
Returns:
Throws:
NotAuthorizedException
TigaseDBException

login

protected void login()
Specified by:
login in class RepositoryAccess


Copyright © 2001-2006 Tigase Developers Team. All rights Reserved.