Class MoodManager

java.lang.Object
org.jivesoftware.smack.Manager
org.jivesoftware.smackx.mood.MoodManager

public final class MoodManager extends org.jivesoftware.smack.Manager
Entry point for Smacks API for XEP-0107: User Mood. To set a mood, please use one of the setMood(Mood) methods. This will publish the users mood to a pubsub node.

In order to get updated about other users moods, register a PepEventListener at addMoodListener(PepEventListener). That listener will get updated about any incoming mood updates of contacts.

To stop publishing the users mood, refer to clearMood().

It is also possible to add MoodElements to Messages by using addMoodToMessage(Message, Mood).

The API can be extended with custom mood concretisations by extending MoodConcretisation and registering MoodConcretisationProviders using ProviderManager.addExtensionProvider(String, String, Object).
An example of how this can be done can be found in the MoodConcretisationTest in the test package.
See Also:
  • Field Details

  • Method Details

    • getInstanceFor

      public static MoodManager getInstanceFor(org.jivesoftware.smack.XMPPConnection connection)
    • setMood

      public void setMood(Mood mood) throws InterruptedException, org.jivesoftware.smack.SmackException.NotLoggedInException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException
      Throws:
      InterruptedException
      org.jivesoftware.smack.SmackException.NotLoggedInException
      org.jivesoftware.smack.SmackException.NoResponseException
      org.jivesoftware.smack.SmackException.NotConnectedException
      org.jivesoftware.smack.XMPPException.XMPPErrorException
      PubSubException.NotALeafNodeException
    • setMood

      public void setMood(Mood mood, String text) throws InterruptedException, org.jivesoftware.smack.SmackException.NotLoggedInException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException
      Throws:
      InterruptedException
      org.jivesoftware.smack.SmackException.NotLoggedInException
      org.jivesoftware.smack.SmackException.NoResponseException
      org.jivesoftware.smack.SmackException.NotConnectedException
      org.jivesoftware.smack.XMPPException.XMPPErrorException
      PubSubException.NotALeafNodeException
    • setMood

      public void setMood(Mood mood, MoodConcretisation concretisation) throws InterruptedException, org.jivesoftware.smack.SmackException.NotLoggedInException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException
      Throws:
      InterruptedException
      org.jivesoftware.smack.SmackException.NotLoggedInException
      org.jivesoftware.smack.SmackException.NoResponseException
      org.jivesoftware.smack.SmackException.NotConnectedException
      org.jivesoftware.smack.XMPPException.XMPPErrorException
      PubSubException.NotALeafNodeException
    • setMood

      public void setMood(Mood mood, MoodConcretisation concretisation, String text) throws InterruptedException, org.jivesoftware.smack.SmackException.NotLoggedInException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException
      Throws:
      InterruptedException
      org.jivesoftware.smack.SmackException.NotLoggedInException
      org.jivesoftware.smack.SmackException.NoResponseException
      org.jivesoftware.smack.SmackException.NotConnectedException
      org.jivesoftware.smack.XMPPException.XMPPErrorException
      PubSubException.NotALeafNodeException
    • clearMood

      public void clearMood() throws InterruptedException, org.jivesoftware.smack.SmackException.NotLoggedInException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException
      Throws:
      InterruptedException
      org.jivesoftware.smack.SmackException.NotLoggedInException
      org.jivesoftware.smack.SmackException.NoResponseException
      org.jivesoftware.smack.SmackException.NotConnectedException
      org.jivesoftware.smack.XMPPException.XMPPErrorException
      PubSubException.NotALeafNodeException
    • addMoodToMessage

      public static void addMoodToMessage(org.jivesoftware.smack.packet.Message message, Mood mood)
    • addMoodToMessage

      public static void addMoodToMessage(org.jivesoftware.smack.packet.Message message, Mood mood, MoodConcretisation concretisation)
    • addMoodListener

      public boolean addMoodListener(PepEventListener<MoodElement> listener)
    • removeMoodListener

      public boolean removeMoodListener(PepEventListener<MoodElement> listener)