tigase.xmpp.impl
Class LastActivity

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

public abstract class LastActivity
extends XMPPProcessorAbstract
implements XMPPStopListenerIfc

Implementation of XEP-0012: Last Activity.

Author:
bmalkow

Field Summary
 
Fields inherited from class tigase.xmpp.XMPPProcessor
ALL
 
Fields inherited from interface tigase.xmpp.XMPPImplIfc
CLIENT_XMLNS
 
Constructor Summary
LastActivity()
           
 
Method Summary
 String id()
          Method id returns a unique ID of the plugin.
 void process(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo, Queue<Packet> results, Map<String,Object> settings)
          Method description
 void processFromUserToServerPacket(tigase.xmpp.JID connectionId, Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo, Queue<Packet> results, Map<String,Object> settings)
          The method is called when a packet is send from the user who is owner of the session to the local server (ping, roster management, privacy lists, etc...).
 void processNullSessionPacket(Packet packet, NonAuthUserRepository repo, Queue<Packet> results, Map<String,Object> settings)
          The method is called for packets received by the server for which no user session is found - neither sender session or receiver session.
 void processServerSessionPacket(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo, Queue<Packet> results, Map<String,Object> settings)
          The method is called when a packet addressed to the server domain is received.
 void processToUserPacket(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo, Queue<Packet> results, Map<String,Object> settings)
          Method is called for all the packets sent TO the user - owner of the session.
 void stopped(XMPPResourceConnection session, Queue<Packet> results, Map<String,Object> settings)
           
 tigase.xml.Element[] supDiscoFeatures(XMPPResourceConnection session)
          Method description
 String[] supElements()
          Method description
 String[] supNamespaces()
          Method description
 
Methods inherited from class tigase.xmpp.XMPPProcessorAbstract
processFromUserOutPacket, processFromUserPacket
 
Methods inherited from class tigase.xmpp.XMPPProcessor
compareTo, concurrentQueuesNo, concurrentThreadsPerQueue, getInstance, getStatistics, init, isSupporting, 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
concurrentQueuesNo, concurrentThreadsPerQueue, getStatistics, init, isSupporting, supStreamFeatures
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

LastActivity

public LastActivity()
Method Detail

id

public String id()
Description copied from interface: XMPPImplIfc
Method id returns a unique ID of the plugin. Each plugin has own, unique ID which is used in the configuration file to determine whether it needs to be loaded or not. In most cases the ID can be equal to XMLNS of the packages processed by the plugin.

Specified by:
id in interface XMPPImplIfc
Returns:
a String value

process

public void process(Packet packet,
                    XMPPResourceConnection session,
                    NonAuthUserRepository repo,
                    Queue<Packet> results,
                    Map<String,Object> settings)
             throws XMPPException
Description copied from class: XMPPProcessorAbstract
Method description

Specified by:
process in interface XMPPProcessorIfc
Overrides:
process in class XMPPProcessorAbstract
Throws:
XMPPException

processFromUserToServerPacket

public void processFromUserToServerPacket(tigase.xmpp.JID connectionId,
                                          Packet packet,
                                          XMPPResourceConnection session,
                                          NonAuthUserRepository repo,
                                          Queue<Packet> results,
                                          Map<String,Object> settings)
                                   throws PacketErrorTypeException
Description copied from class: XMPPProcessorAbstract
The method is called when a packet is send from the user who is owner of the session to the local server (ping, roster management, privacy lists, etc...). There is no default implementation for the method.

Specified by:
processFromUserToServerPacket in class XMPPProcessorAbstract
Parameters:
connectionId - is a JID instance with the session connection ID.
packet - is a Packet sent by the user.
session - is a XMPPResourceConnection instance with all the sending user session data.
repo - is a NonAuthUserRepository instance giving access to a part of the user repository which is accessible regardless the session is authenticated or not.
results - is a packets Queue with all the processing results from the plugin.
settings - is a Map with all the configuration settings passed to the plugin.
Throws:
PacketErrorTypeException - on attempt to send an error response to the error packet.

processNullSessionPacket

public void processNullSessionPacket(Packet packet,
                                     NonAuthUserRepository repo,
                                     Queue<Packet> results,
                                     Map<String,Object> settings)
                              throws PacketErrorTypeException
Description copied from class: XMPPProcessorAbstract
The method is called for packets received by the server for which no user session is found - neither sender session or receiver session. The default implementation does nothing, just ignores such a packet. To change the default behaviour the method has to be overwritten.

Overrides:
processNullSessionPacket in class XMPPProcessorAbstract
Parameters:
packet - is a Packet received by the server.
repo - is a NonAuthUserRepository instance giving access to a part of the user repository which is accessible regardless the session is authenticated or not.
results - is a packets Queue with all the processing results from the plugin.
settings - is a Map with all the configuration settings passed to the plugin.
Throws:
PacketErrorTypeException - on attempt to send an error response to the error packet.

processServerSessionPacket

public void processServerSessionPacket(Packet packet,
                                       XMPPResourceConnection session,
                                       NonAuthUserRepository repo,
                                       Queue<Packet> results,
                                       Map<String,Object> settings)
                                throws PacketErrorTypeException
Description copied from class: XMPPProcessorAbstract
The method is called when a packet addressed to the server domain is received. Please note, if a local user sends a packet to the server, the packet is handled by the processFromUserPacket(...) method. This method is not called for such packets.

Specified by:
processServerSessionPacket in class XMPPProcessorAbstract
Parameters:
packet - is a Packet received by the server and addressed to the server - the server virtual domain name.
session - is a XMPPResourceConnection instance with all the server session data.
repo - is a NonAuthUserRepository instance giving access to a part of the user repository which is accessible regardless the session is authenticated or not.
results - is a packets Queue with all the processing results from the plugin.
settings - is a Map with all the configuration settings passed to the plugin.
Throws:
PacketErrorTypeException - on attempt to send an error response to the error packet.

processToUserPacket

public void processToUserPacket(Packet packet,
                                XMPPResourceConnection session,
                                NonAuthUserRepository repo,
                                Queue<Packet> results,
                                Map<String,Object> settings)
                         throws PacketErrorTypeException
Description copied from class: XMPPProcessorAbstract
Method is called for all the packets sent TO the user - owner of the session. The default implementation just forwards the packet to the user connection. To change the default behavior the method has to be overwritten.

Overrides:
processToUserPacket in class XMPPProcessorAbstract
Parameters:
packet - is a Packet received by the server and addressed to the server - the server virtual domain name.
session - is a XMPPResourceConnection instance with all the receiving user session data.
repo - is a NonAuthUserRepository instance giving access to a part of the user repository which is accessible regardless the session is authenticated or not.
results - is a packets Queue with all the processing results from the plugin.
settings - is a Map with all the configuration settings passed to the plugin.
Throws:
PacketErrorTypeException - on attempt to send an error response to the error packet.

stopped

public void stopped(XMPPResourceConnection session,
                    Queue<Packet> results,
                    Map<String,Object> settings)
Specified by:
stopped in interface XMPPStopListenerIfc

supDiscoFeatures

public tigase.xml.Element[] supDiscoFeatures(XMPPResourceConnection session)
Description copied from class: XMPPProcessor
Method description

Specified by:
supDiscoFeatures in interface XMPPImplIfc
Overrides:
supDiscoFeatures in class XMPPProcessor
Parameters:
session - a XMPPResourceConnection value
Returns:
an Element[] value

supElements

public String[] supElements()
Description copied from class: XMPPProcessor
Method description

Specified by:
supElements in interface XMPPImplIfc
Overrides:
supElements in class XMPPProcessor
Returns:
a String[] value

supNamespaces

public String[] supNamespaces()
Description copied from class: XMPPProcessor
Method description

Specified by:
supNamespaces in interface XMPPImplIfc
Overrides:
supNamespaces in class XMPPProcessor
Returns:
a String[] value


Copyright © 2012 Tigase. All Rights Reserved.