Package org.jivesoftware.smackx.iqlast
Class LastActivityManager
java.lang.Object
org.jivesoftware.smack.Manager
org.jivesoftware.smackx.iqlast.LastActivityManager
public final class LastActivityManager
extends org.jivesoftware.smack.Manager
A last activity manager for handling information about the last activity
associated with a Jabber ID. A manager handles incoming LastActivity requests
of existing Connections. It also allows to request last activity information
of other users.
LastActivity (XEP-0012) based on the sending JID's type allows for retrieval
of:
- How long a particular user has been idle
- How long a particular user has been logged-out and the message the specified when doing so.
- How long a host has been up.
XMPPConnection con = new XMPPTCPConnection("jabber.org");
con.login("john", "doe");
LastActivity activity = LastActivity.getLastActivity(con, "xray@jabber.org/Smack");
To get the lapsed time since the last user logout is the same as above but
with out the resource:
LastActivity activity = LastActivity.getLastActivity(con, "xray@jabber.org");To get the uptime of a host, you simple send the LastActivity stanza to it, as in the following code example:
LastActivity activity = LastActivity.getLastActivity(con, "jabber.org");
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoiddisable()voidenable()static LastActivityManagergetInstanceFor(org.jivesoftware.smack.XMPPConnection connection) getLastActivity(org.jxmpp.jid.Jid jid) Returns the last activity of a particular jid.booleanisLastActivitySupported(org.jxmpp.jid.Jid jid) Returns true if Last Activity (XEP-0012) is supported by a given JID.static voidsetEnabledPerDefault(boolean enabledPerDefault) Enable or disable Last Activity for new XMPPConnections.Methods inherited from class org.jivesoftware.smack.Manager
connection, getAuthenticatedConnectionOrThrow, schedule, schedule, scheduleBlocking
-
Method Details
-
setEnabledPerDefault
public static void setEnabledPerDefault(boolean enabledPerDefault) Enable or disable Last Activity for new XMPPConnections.- Parameters:
enabledPerDefault- TODO javadoc me please
-
getInstanceFor
-
enable
public void enable() -
disable
public void disable() -
getLastActivity
public LastActivity getLastActivity(org.jxmpp.jid.Jid jid) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException Returns the last activity of a particular jid. If the jid is a full JID (i.e., a JID of the form of 'user@host/resource') then the last activity is the idle time of that connected resource. On the other hand, when the jid is a bare JID (e.g. 'user@host') then the last activity is the lapsed time since the last logout or 0 if the user is currently logged in. Moreover, when the jid is a server or component (e.g., a JID of the form 'host') the last activity is the uptime.- Parameters:
jid- TODO javadoc me please the JID of the user.- Returns:
- the LastActivity stanza of the jid.
- Throws:
org.jivesoftware.smack.XMPPException.XMPPErrorException- if there was an XMPP error returned. thrown if a server error has occurred.org.jivesoftware.smack.SmackException.NoResponseException- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException- if the XMPP connection is not connected.InterruptedException- if the calling thread was interrupted.
-
isLastActivitySupported
public boolean isLastActivitySupported(org.jxmpp.jid.Jid jid) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException Returns true if Last Activity (XEP-0012) is supported by a given JID.- Parameters:
jid- a JID to be tested for Last Activity support- Returns:
- true if Last Activity is supported, otherwise false
- Throws:
org.jivesoftware.smack.SmackException.NotConnectedException- if the XMPP connection is not connected.org.jivesoftware.smack.XMPPException.XMPPErrorException- if there was an XMPP error returned.org.jivesoftware.smack.SmackException.NoResponseException- if there was no response from the remote entity.InterruptedException- if the calling thread was interrupted.
-