public class XMPPResourceConnection extends RepositoryAccess
Modifier and Type | Field and Description |
---|---|
static String |
ALL_RESOURCES_CAPS_KEY
Field description
|
static String |
ALL_RESOURCES_KEY
Field description
|
static String |
ALL_RESOURCES_PRIORITY_KEY
Field description
|
static String |
AUTHENTICATION_TIMEOUT_KEY
Field description
|
static String |
CLOSING_KEY
Field description
|
static String |
ERROR_KEY
Field description
|
static String |
PRESENCE_KEY
Constant
PRESENCE_KEY is a key in temporary session data where
the last presence sent by the user to server is stored, either initial
presence or off-line presence before disconnecting. |
authRepo, authState, domain, is_anonymous, NO_ACCESS_TO_REP_MSG, NOT_AUTHORIZED_MSG
Constructor and Description |
---|
XMPPResourceConnection(JID connectionId,
UserRepository rep,
AuthRepository authRepo,
SessionManagerHandler loginHandler)
Creates a new
XMPPResourceConnection instance. |
Modifier and Type | Method and Description |
---|---|
void |
authorizeJID(BareJID jid,
boolean anonymous)
Method description
|
Object |
computeCommonSessionDataIfAbsent(String key,
java.util.function.Function<String,Object> valueFactory)
Method checks if in
parentSession in session data there is value
for passed key and returns it if exists. |
Object |
computeSessionDataIfAbsent(String key,
java.util.function.Function<String,Object> valueFactory)
Method checks if in session data is value for passed
key and
returns it if exists. |
List<XMPPResourceConnection> |
getActiveSessions()
Method description
|
JID[] |
getAllResourcesJIDs()
Method description
|
AuthRepository |
getAuthRepository()
Method description
|
long |
getAuthTime()
Method description
|
BareJID |
getBareJID()
Returns user JID but without resource part.
|
Object |
getCommonSessionData(String key) |
JID |
getConnectionId()
Gets the value of connectionId
|
JID |
getConnectionId(JID jid)
Method description
|
long |
getCreationTime()
Method description
|
String |
getDefLang()
Method description
|
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. |
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
|
long |
getPacketsCounter()
Method description
|
XMPPSession |
getParentSession()
Method description
|
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
|
JID |
getSMComponentId()
Method description
|
BareJID |
getUserId()
Deprecated.
|
String |
getUserName()
Method description
|
void |
incPacketsCounter()
Method description
|
boolean |
isAuthorized()
This method allows you test this session if it already has been authorized.
|
boolean |
isEncrypted() |
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 |
isTlsRequired() |
boolean |
isTmpSession()
Method description
|
boolean |
isUserId(BareJID bareJID)
Method description
|
protected void |
login()
Method description
|
Authorization |
loginDigest(String user,
String digest,
String id,
String alg)
Deprecated.
|
Authorization |
loginOther(Map<String,Object> props)
Deprecated.
|
Authorization |
loginPlain(String user,
String password)
Deprecated.
|
void |
logout()
Method description
|
String |
nextStanzaId()
Method description
|
void |
putCommonSessionData(String key,
Object value)
Method sets passed value under passed key in common sessionData kept
in parentSession
|
Object |
putCommonSessionDataIfAbsent(String key,
Object value)
Method sets passed value under passed
key in common sessionData kept
in parentSession but only if there is no value for this key already |
void |
putSessionData(String key,
Object value)
Saves given session data.
|
Object |
putSessionDataIfAbsent(String key,
Object value)
Method sets passed value under passed
key in sessionData
but only if there is no value for this key already |
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 |
setConnectionId(JID connectionId)
Sets the value of connectionId
|
void |
setDefLang(String lang)
Method description
|
void |
setLastAccessed(long argLastAccessed)
Sets the value of lastAccessed
|
void |
setParentSession(XMPPSession parent)
Method description
|
void |
setPresence(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 |
setTmpSession(boolean tmp)
Method description
|
void |
streamClosed()
Method description
|
String |
toString() |
Authorization |
unregister(String name_param)
Method description
|
addDataList, addOfflineDataList, addPublicDataList, getAuthenticationToken, getAuthState, getData, getDataGroups, getDataKeys, getDataList, getDomain, getDomainAsJID, getOfflineData, getOfflineDataList, getPublicData, getPublicDataList, isAnonymous, loginDigest, loginPlain, loginToken, register, register, removeData, removeDataGroup, removeOfflineData, removeOfflineDataGroup, removePublicData, removePublicDataGroup, setData, setDataList, setDomain, setOfflineData, setOfflineDataList, setPublicData, setPublicDataList
public static final String ALL_RESOURCES_CAPS_KEY
public static final String ALL_RESOURCES_KEY
public static final String ALL_RESOURCES_PRIORITY_KEY
public static final String AUTHENTICATION_TIMEOUT_KEY
public static final String CLOSING_KEY
public static final String ERROR_KEY
public static final String PRESENCE_KEY
PRESENCE_KEY
is a key in temporary session data where
the last presence sent by the user to server is stored, either initial
presence or off-line presence before disconnecting.public XMPPResourceConnection(JID connectionId, UserRepository rep, AuthRepository authRepo, SessionManagerHandler loginHandler)
XMPPResourceConnection
instance.connectionId
- rep
- authRepo
- loginHandler
- public void authorizeJID(BareJID jid, boolean anonymous) throws TigaseStringprepException
jid
- anonymous
- TigaseStringprepException
public Object computeCommonSessionDataIfAbsent(String key, java.util.function.Function<String,Object> valueFactory)
parentSession
in session data there is value
for passed key
and returns it if exists. If not then it uses
passed valueFactory
to generate value and sets it in
parentSession
in session data under passed key
and
returns newly set valuekey
- valueFactory
- public Object computeSessionDataIfAbsent(String key, java.util.function.Function<String,Object> valueFactory)
key
and
returns it if exists. If not then it uses passed valueFactory
to
generate value and sets it in session data under passed key
and
returns newly set valuekey
- valueFactory
- public final JID getjid()
NotAuthorizedException
exception if session is not authorized
yet and therefore user name and resource is not known yet. Please note this
method is for logging using only to avoid excessive use of try/catch for
debugging code. It may return null.String
value of calculated user full JID for this
session including resource name.public void incPacketsCounter()
@Deprecated public final Authorization loginDigest(String user, String digest, String id, String alg) throws NotAuthorizedException, AuthorizationException, TigaseDBException, TigaseStringprepException
user
- digest
- id
- alg
- Authorization
AuthorizationException
NotAuthorizedException
TigaseDBException
TigaseStringprepException
@Deprecated public final Authorization loginOther(Map<String,Object> props) throws NotAuthorizedException, AuthorizationException, TigaseDBException
RepositoryAccess
loginOther
in class RepositoryAccess
Authorization
NotAuthorizedException
AuthorizationException
TigaseDBException
@Deprecated public final Authorization loginPlain(String user, String password) throws NotAuthorizedException, AuthorizationException, TigaseDBException, TigaseStringprepException
user
- password
- Authorization
AuthorizationException
NotAuthorizedException
TigaseDBException
TigaseStringprepException
public final void logout() throws NotAuthorizedException
RepositoryAccess
logout
in class RepositoryAccess
NotAuthorizedException
public String nextStanzaId()
String
public void putCommonSessionData(String key, Object value)
key
- value
- public Object putCommonSessionDataIfAbsent(String key, Object value)
key
in common sessionData
kept
in parentSession
but only if there is no value for this key
alreadykey
- value
- public final void putSessionData(String key, Object value)
Object
can be stored and retrieved through
getSessionData(...)
.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.key
- a String
value of stored data key ID.value
- a Object
value of data stored in session.getSessionData(String)
public Object putSessionDataIfAbsent(String key, Object value)
key
in sessionData
but only if there is no value for this key
alreadykey
- value
- public void queryAuth(Map<String,Object> authProps) throws TigaseDBException
RepositoryAccess
queryAuth
in class RepositoryAccess
TigaseDBException
public Object removeCommonSessionData(String key)
key
- Object
public void removeParentSession(XMPPSession parent)
parent
- public final void removeSessionData(String key)
key
- public void streamClosed()
public Authorization unregister(String name_param) throws NotAuthorizedException, TigaseDBException, TigaseStringprepException
RepositoryAccess
unregister
in class RepositoryAccess
Authorization
NotAuthorizedException
TigaseDBException
TigaseStringprepException
public List<XMPPResourceConnection> getActiveSessions() throws NotAuthorizedException
List<XMPPResourceConnection>
NotAuthorizedException
public JID[] getAllResourcesJIDs()
JID[]
public AuthRepository getAuthRepository()
AuthRepository
public long getAuthTime()
long
public final BareJID getBareJID() throws NotAuthorizedException
RepositoryAccess
getJID()
method.NotAuthorizedException
.getBareJID
in class RepositoryAccess
String
value of user ID - this is user JID without
resource part. To obtain full user JID please refer to
getJID
method.NotAuthorizedException
- when this session has not been authorized
yet and some parts of user JID are not
known yet.public Object getCommonSessionData(String key)
key
- Object
public JID getConnectionId() throws NoConnectionIdException
NoConnectionIdException
public JID getConnectionId(JID jid) throws NoConnectionIdException
jid
- JID
NoConnectionIdException
public long getCreationTime()
long
public String getDefLang()
String
public final JID getJID() throws NotAuthorizedException
NotAuthorizedException
if session is not authorized yet and
therefore user name and resource is not known yet.String
value of calculated user full JID for this
session including resource name.NotAuthorizedException
public long getLastAccessed()
public long getPacketsCounter()
long
public XMPPSession getParentSession()
XMPPSession
public Element getPresence()
null
if the user has not yet sent an initial presence.Element
with last presence status received from the
user.public int getPriority()
int
public String getResource()
public final Object getSessionData(String key)
putSessionData
description for more details.key
- a String
value of stored data ID.Object
value of data for given key.putSessionData(String, Object)
public String getSessionId()
public JID getSMComponentId()
JID
@Deprecated public BareJID getUserId() throws NotAuthorizedException
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.BareJID
NotAuthorizedException
public final String getUserName() throws NotAuthorizedException
RepositoryAccess
getUserName
in class RepositoryAccess
String
NotAuthorizedException
public boolean isAuthorized()
RepositoryAccess
true
is returned as method result it means session has
already been authorized, if false
however session is still not
authorized.isAuthorized
in class RepositoryAccess
boolean
value which informs whether this session has
been already authorized or not.public boolean isLocalDomain(String outDomain, boolean includeComponents)
outDomain
- includeComponents
- boolean
public boolean isResourceSet()
boolean
public boolean isServerSession()
boolean
value of true
if this is the
server session and false
otherwise.public boolean isTmpSession()
boolean
public boolean isUserId(BareJID bareJID) throws NotAuthorizedException
bareJID
- boolean
NotAuthorizedException
public void setConnectionId(JID connectionId)
connectionId
- is a JID
public void setDefLang(String lang)
lang
- public void setLastAccessed(long argLastAccessed)
argLastAccessed
- Value to assign to this.lastAccessedpublic void setParentSession(XMPPSession parent) throws TigaseStringprepException
parent
- TigaseStringprepException
public void setPresence(Element packet)
packet
- public void setPriority(int priority)
priority
- public void setResource(String argResource) throws NotAuthorizedException, TigaseStringprepException
argResource
- Value to assign to this.resourceNotAuthorizedException
TigaseStringprepException
public void setSessionId(String argSessionId)
argSessionId
- Value to assign to this.sessionIdpublic void setTmpSession(boolean tmp)
tmp
- is a boolean
protected void login()
RepositoryAccess
login
in class RepositoryAccess
public boolean isEncrypted()
public boolean isTlsRequired()
Copyright © 2017 "Tigase, Inc.". All rights reserved.