tigase.xmpp.impl
Class Presence

java.lang.Object
  extended by tigase.xmpp.XMPPProcessor
      extended by tigase.xmpp.impl.Presence
All Implemented Interfaces:
java.lang.Comparable<XMPPProcessor>, XMPPImplIfc, XMPPProcessorIfc, XMPPStopListenerIfc

public class Presence
extends XMPPProcessor
implements XMPPProcessorIfc, XMPPStopListenerIfc

Describe class Presence here. Created: Wed Feb 22 07:30:03 2006

Version:
$Rev: 652 $
Author:
Artur Hefczyc

Constructor Summary
Presence()
           
 
Method Summary
protected  void addDirectPresenceJID(java.lang.String jid, XMPPResourceConnection session)
           
protected  void forwardPresence(java.util.Queue<Packet> results, Packet packet, java.lang.String from)
           
 java.lang.String id()
           
 void process(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo, java.util.Queue<Packet> results)
           
protected  void removeDirectPresenceJID(java.lang.String jid, XMPPResourceConnection session)
           
protected  void sendPresence(StanzaType t, java.lang.String to, java.lang.String from, java.util.Queue<Packet> results, tigase.xml.Element pres)
           
protected  void sendPresenceBroadcast(StanzaType t, XMPPResourceConnection session, java.util.EnumSet<Roster.SubscriptionType> subscrs, java.util.Queue<Packet> results, tigase.xml.Element pres)
          sendPresenceBroadcast method broadcasts given presence to all budies from roster and to all users to which direct presence was sent.
 void stopped(XMPPResourceConnection session, java.util.Queue<Packet> results)
          stopped method is called when user disconnects or logs-out.
 java.lang.String[] supElements()
           
 java.lang.String[] supNamespaces()
           
protected  void updateOfflineChange(XMPPResourceConnection session, java.util.Queue<Packet> results)
          updateOfflineChange method broadcast off-line presence to all other user active resources.
protected  void updatePresenceChange(tigase.xml.Element presence, XMPPResourceConnection session, java.util.Queue<Packet> results)
          updatePresenceChange method is used to broadcast to all active resources presence stanza received from other users, like incoming avaiability presence, subscription presence and so on...
protected  void updateUserResources(tigase.xml.Element presence, XMPPResourceConnection session, java.util.Queue<Packet> results)
          updateUserResources method is used to broadcast to all other resources presence stanza from one user resource.
 
Methods inherited from class tigase.xmpp.XMPPProcessor
compareTo, getInstance, isSupporting, supDiscoFeatures, supStreamFeatures
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tigase.xmpp.XMPPImplIfc
isSupporting, supDiscoFeatures, supStreamFeatures
 

Constructor Detail

Presence

public Presence()
Method Detail

id

public java.lang.String id()
Specified by:
id in interface XMPPImplIfc

supElements

public java.lang.String[] supElements()
Specified by:
supElements in interface XMPPImplIfc
Overrides:
supElements in class XMPPProcessor

supNamespaces

public java.lang.String[] supNamespaces()
Specified by:
supNamespaces in interface XMPPImplIfc
Overrides:
supNamespaces in class XMPPProcessor

stopped

public void stopped(XMPPResourceConnection session,
                    java.util.Queue<Packet> results)
stopped method is called when user disconnects or logs-out.

Specified by:
stopped in interface XMPPStopListenerIfc
Parameters:
session - a XMPPResourceConnection value

sendPresenceBroadcast

protected void sendPresenceBroadcast(StanzaType t,
                                     XMPPResourceConnection session,
                                     java.util.EnumSet<Roster.SubscriptionType> subscrs,
                                     java.util.Queue<Packet> results,
                                     tigase.xml.Element pres)
                              throws NotAuthorizedException
sendPresenceBroadcast method broadcasts given presence to all budies from roster and to all users to which direct presence was sent.

Parameters:
t - a StanzaType value
session - a XMPPResourceConnection value
pres - an Element value
Throws:
NotAuthorizedException - if an error occurs

updateOfflineChange

protected void updateOfflineChange(XMPPResourceConnection session,
                                   java.util.Queue<Packet> results)
                            throws NotAuthorizedException
updateOfflineChange method broadcast off-line presence to all other user active resources.

Parameters:
session - a XMPPResourceConnection value
Throws:
NotAuthorizedException - if an error occurs

updateUserResources

protected void updateUserResources(tigase.xml.Element presence,
                                   XMPPResourceConnection session,
                                   java.util.Queue<Packet> results)
                            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.

Parameters:
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.
Throws:
NotAuthorizedException - if an error occurs

updatePresenceChange

protected void updatePresenceChange(tigase.xml.Element presence,
                                    XMPPResourceConnection session,
                                    java.util.Queue<Packet> results)
                             throws NotAuthorizedException
updatePresenceChange method is used to broadcast to all active resources presence stanza received from other users, like incoming avaiability presence, subscription presence and so on...

Parameters:
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.
Throws:
NotAuthorizedException - if an error occurs

forwardPresence

protected void forwardPresence(java.util.Queue<Packet> results,
                               Packet packet,
                               java.lang.String from)

sendPresence

protected final void sendPresence(StanzaType t,
                                  java.lang.String to,
                                  java.lang.String from,
                                  java.util.Queue<Packet> results,
                                  tigase.xml.Element pres)

addDirectPresenceJID

protected void addDirectPresenceJID(java.lang.String jid,
                                    XMPPResourceConnection session)

removeDirectPresenceJID

protected void removeDirectPresenceJID(java.lang.String jid,
                                       XMPPResourceConnection session)

process

public void process(Packet packet,
                    XMPPResourceConnection session,
                    NonAuthUserRepository repo,
                    java.util.Queue<Packet> results)
Specified by:
process in interface XMPPProcessorIfc


Copyright ? 2007 Tigase. All Rights Reserved.