public class Presence extends XMPPProcessor implements XMPPProcessorIfc, XMPPStopListenerIfc
Modifier and Type | Field and Description |
---|---|
static String |
DIRECT_PRESENCE
DIRECT_PRESENCE is a key in temporary session data for the
collection of JIDs where direct presence was sent. |
static String |
OFFLINE_BUD_SENT
Field description
|
static String |
OFFLINE_RES_SENT
Field description
|
static String |
OFFLINE_ROSTER_LAST_SEEN_PROP_KEY
Field description
|
static String |
PRESENCE_ELEMENT_NAME
Field description
|
static String |
PRESENCE_GLOBAL_FORWARD
Field description
|
protected RosterAbstract |
roster_util
Field description
|
static String |
SKIP_OFFLINE_PROP_KEY
Field description
|
static String |
USERS_STATUS_CHANGES
Field description
|
protected static String |
XMLNS
Field description
|
ALL_NAMES, ALL_PATHS, cmpInfo
CLIENT_XMLNS
Constructor and Description |
---|
Presence() |
Modifier and Type | Method and Description |
---|---|
static void |
addDirectPresenceJID(tigase.xmpp.JID jid,
XMPPResourceConnection session)
Method description
|
protected static void |
broadcastDirectPresences(StanzaType t,
XMPPResourceConnection session,
Queue<Packet> results,
tigase.xml.Element pres)
Method description
|
static void |
broadcastOffline(XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract roster_util)
sendPresenceBroadcast method broadcasts given presence to all
buddies from roster and to all users to which direct presence was sent. |
void |
broadcastProbe(XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings)
sendPresenceBroadcast method broadcasts given presence to all
budies from roster and to all users to which direct presence was sent. |
protected void |
buddyOnline(XMPPResourceConnection session,
tigase.xmpp.JID buddy,
Queue<Packet> results,
boolean online)
Method description
|
int |
concurrentQueuesNo()
Method description
|
protected static void |
forwardPresence(Queue<Packet> results,
Packet packet,
tigase.xmpp.JID from)
Method description
|
protected RosterAbstract |
getRosterUtil()
Method description
|
void |
getStatistics(StatisticsList list)
Method description
|
String |
id()
Method description
|
void |
init(Map<String,Object> settings)
Method description
|
void |
process(Packet packet,
XMPPResourceConnection session,
NonAuthUserRepository repo,
Queue<Packet> results,
Map<String,Object> settings)
Method description
|
protected void |
processError(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType presenceType)
Method description
|
protected void |
processInInitial(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType presenceType)
Method description
|
protected void |
processInProbe(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType presenceType)
Method description
|
protected void |
processInSubscribe(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType pres_type)
Method description
|
protected void |
processInSubscribed(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType pres_type)
Method description
|
protected void |
processInUnsubscribe(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType pres_type)
Method description
|
protected void |
processInUnsubscribed(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType pres_type)
Method description
|
protected void |
processOutInitial(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType type)
Method description
|
protected void |
processOutSubscribe(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType pres_type)
Method description
|
protected void |
processOutSubscribed(Packet packet,
XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings,
RosterAbstract.PresenceType pres_type)
Method description
|
static void |
removeDirectPresenceJID(tigase.xmpp.JID jid,
XMPPResourceConnection session)
Method description
|
void |
resendPendingInRequests(XMPPResourceConnection session,
Queue<Packet> results)
Method description
|
static void |
sendPresence(StanzaType t,
tigase.xmpp.BareJID from,
tigase.xmpp.BareJID to,
Queue<Packet> results,
tigase.xml.Element pres)
Method description
|
static Packet |
sendPresence(StanzaType t,
tigase.xmpp.JID from,
tigase.xmpp.JID to,
Queue<Packet> results,
tigase.xml.Element pres)
Method description
|
static void |
sendPresenceBroadcast(StanzaType t,
XMPPResourceConnection session,
EnumSet<RosterAbstract.SubscriptionType> subscrs,
Queue<Packet> results,
tigase.xml.Element pres,
Map<String,Object> settings,
RosterAbstract roster_util)
sendPresenceBroadcast method broadcasts given presence to all
buddies from roster and to all users to which direct presence was sent. |
protected void |
sendRosterOfflinePresence(XMPPResourceConnection session,
Queue<Packet> results)
Method sends server generated presence unavailable for all buddies from the
roster with a custom status message.
|
void |
stopped(XMPPResourceConnection session,
Queue<Packet> results,
Map<String,Object> settings)
stopped method is called when user disconnects or logs-out. |
String[][] |
supElementNamePaths()
Method description
|
String[] |
supNamespaces()
Method description
|
protected static void |
updateOfflineChange(XMPPResourceConnection session,
Queue<Packet> results)
updateOfflineChange method broadcast off-line presence to all
other user active resources. |
static void |
updatePresenceChange(Packet presence,
XMPPResourceConnection session,
Queue<Packet> results)
updatePresenceChange method is used to broadcast to all active
resources presence stanza received from other users, like incoming
availability presence, subscription presence and so on... |
protected static void |
updateResourcesAvailable(XMPPResourceConnection session,
StanzaType type,
Packet packet) |
static void |
updateUserResources(tigase.xml.Element presence,
XMPPResourceConnection session,
Queue<Packet> results,
boolean initial)
updateUserResources method is used to broadcast to all
other resources presence stanza from one user resource. |
canHandle, compareTo, concurrentThreadsPerQueue, getComponentInfo, getInstance, isSupporting, supDiscoFeatures, supElements, supStreamFeatures, supTypes, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
canHandle, concurrentThreadsPerQueue, getComponentInfo, isSupporting, supDiscoFeatures, supElements, supStreamFeatures, supTypes
compareTo
public static final String DIRECT_PRESENCE
DIRECT_PRESENCE
is a key in temporary session data for the
collection of JIDs where direct presence was sent. To all these addresses
unavailable presence must be sent when user disconnects.public static final String OFFLINE_BUD_SENT
public static final String OFFLINE_RES_SENT
public static final String OFFLINE_ROSTER_LAST_SEEN_PROP_KEY
public static final String PRESENCE_ELEMENT_NAME
public static final String PRESENCE_GLOBAL_FORWARD
public static final String SKIP_OFFLINE_PROP_KEY
public static final String USERS_STATUS_CHANGES
protected static final String XMLNS
protected RosterAbstract roster_util
public static void addDirectPresenceJID(tigase.xmpp.JID jid, XMPPResourceConnection session)
jid
- session
- public static void broadcastOffline(XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract roster_util) throws NotAuthorizedException, TigaseDBException
sendPresenceBroadcast
method broadcasts given presence to all
buddies from roster and to all users to which direct presence was sent.session
- a XMPPResourceConnection
valueresults
- settings
- roster_util
- NotAuthorizedException
- if an error occursTigaseDBException
public static void removeDirectPresenceJID(tigase.xmpp.JID jid, XMPPResourceConnection session)
jid
- session
- public static void sendPresence(StanzaType t, tigase.xmpp.BareJID from, tigase.xmpp.BareJID to, Queue<Packet> results, tigase.xml.Element pres)
t
- from
- to
- results
- pres
- public static Packet sendPresence(StanzaType t, tigase.xmpp.JID from, tigase.xmpp.JID to, Queue<Packet> results, tigase.xml.Element pres)
t
- from
- to
- results
- pres
- public static void sendPresenceBroadcast(StanzaType t, XMPPResourceConnection session, EnumSet<RosterAbstract.SubscriptionType> subscrs, Queue<Packet> results, tigase.xml.Element pres, Map<String,Object> settings, RosterAbstract roster_util) throws NotAuthorizedException, TigaseDBException
sendPresenceBroadcast
method broadcasts given presence to all
buddies from roster and to all users to which direct presence was sent.t
- a StanzaType
valuesession
- a XMPPResourceConnection
valuesubscrs
- results
- pres
- an Element
valuesettings
- roster_util
- NotAuthorizedException
- if an error occursTigaseDBException
public static void updatePresenceChange(Packet presence, XMPPResourceConnection session, Queue<Packet> results) throws NotAuthorizedException
updatePresenceChange
method is used to broadcast to all active
resources presence stanza received from other users, like incoming
availability presence, subscription presence and so on... Initial presences
are however sent only to those resources which already have sent initial
presence.presence
- an Element
presence received from other users, we
have to change 'to' attribute to full resource JID.session
- a XMPPResourceConnection
value keeping connection
session object.results
- NotAuthorizedException
- if an error occurspublic void getStatistics(StatisticsList list)
getStatistics
in interface XMPPImplIfc
getStatistics
in class XMPPProcessor
list
- public static void updateUserResources(tigase.xml.Element presence, XMPPResourceConnection session, Queue<Packet> results, boolean initial) throws NotAuthorizedException
updateUserResources
method is used to broadcast to all
other resources presence stanza from one user resource. So
if new resource connects this method updates presence information about new
resource to old resources and about old resources to new resource.presence
- an Element
presence received from other users, we
have to change 'to' attribute to full resource JID.session
- a XMPPResourceConnection
value keeping connection
session object.results
- initial
- NotAuthorizedException
- if an error occursprotected static void broadcastDirectPresences(StanzaType t, XMPPResourceConnection session, Queue<Packet> results, tigase.xml.Element pres) throws NotAuthorizedException, TigaseDBException
t
- session
- results
- pres
- NotAuthorizedException
TigaseDBException
protected static void forwardPresence(Queue<Packet> results, Packet packet, tigase.xmpp.JID from)
results
- packet
- from
- protected static void updateOfflineChange(XMPPResourceConnection session, Queue<Packet> results) throws NotAuthorizedException
updateOfflineChange
method broadcast off-line presence to all
other user active resources.session
- a XMPPResourceConnection
valueresults
- NotAuthorizedException
- if an error occursprotected static void updateResourcesAvailable(XMPPResourceConnection session, StanzaType type, Packet packet)
public void broadcastProbe(XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings) throws NotAuthorizedException, TigaseDBException
sendPresenceBroadcast
method broadcasts given presence to all
budies from roster and to all users to which direct presence was sent.session
- a XMPPResourceConnection
valueresults
- settings
- NotAuthorizedException
- if an error occursTigaseDBException
public int concurrentQueuesNo()
concurrentQueuesNo
in interface XMPPImplIfc
concurrentQueuesNo
in class XMPPProcessor
public String id()
id
in interface XMPPImplIfc
String
valuepublic void init(Map<String,Object> settings) throws TigaseDBException
init
in interface XMPPImplIfc
init
in class XMPPProcessor
settings
- TigaseDBException
public void process(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo, Queue<Packet> results, Map<String,Object> settings) throws XMPPException
process
in interface XMPPProcessorIfc
packet
- session
- repo
- results
- settings
- XMPPException
public void resendPendingInRequests(XMPPResourceConnection session, Queue<Packet> results) throws NotAuthorizedException, TigaseDBException
session
- results
- NotAuthorizedException
TigaseDBException
public void stopped(XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings)
stopped
method is called when user disconnects or logs-out.stopped
in interface XMPPStopListenerIfc
session
- a XMPPResourceConnection
valueresults
- settings
- public String[][] supElementNamePaths()
supElementNamePaths
in interface XMPPImplIfc
supElementNamePaths
in class XMPPProcessor
String[][]
value is an array for element paths for which
the plugin offers processing capabilities. Each path is in form of a String array
in order to reduce parsing overhead.public String[] supNamespaces()
supNamespaces
in interface XMPPImplIfc
supNamespaces
in class XMPPProcessor
String[]
valueprotected RosterAbstract getRosterUtil()
protected void processError(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType presenceType) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- presenceType
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void processInInitial(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType presenceType) throws NoConnectionIdException, NotAuthorizedException, TigaseDBException
packet
- session
- results
- settings
- presenceType
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void processInProbe(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType presenceType) throws NotAuthorizedException, TigaseDBException, PacketErrorTypeException
packet
- session
- results
- settings
- presenceType
- NotAuthorizedException
PacketErrorTypeException
TigaseDBException
protected void processInSubscribe(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType pres_type) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- pres_type
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void processInSubscribed(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType pres_type) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- pres_type
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void processInUnsubscribe(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType pres_type) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- pres_type
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void processInUnsubscribed(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType pres_type) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- pres_type
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void sendRosterOfflinePresence(XMPPResourceConnection session, Queue<Packet> results) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
session
- results
- TigaseDBException
NotAuthorizedException
NoConnectionIdException
protected void processOutInitial(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType type) throws NotAuthorizedException, TigaseDBException
packet
- session
- results
- settings
- type
- NotAuthorizedException
TigaseDBException
protected void processOutSubscribe(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType pres_type) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- pres_type
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void processOutSubscribed(Packet packet, XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings, RosterAbstract.PresenceType pres_type) throws NotAuthorizedException, TigaseDBException, NoConnectionIdException
packet
- session
- results
- settings
- pres_type
- NoConnectionIdException
NotAuthorizedException
TigaseDBException
protected void buddyOnline(XMPPResourceConnection session, tigase.xmpp.JID buddy, Queue<Packet> results, boolean online) throws NotAuthorizedException, TigaseDBException
session
- buddy
- results
- online
- NotAuthorizedException
TigaseDBException
Copyright © 2013 Tigase. All rights reserved.