Class BookmarkManager

java.lang.Object
org.jivesoftware.smackx.bookmarks.BookmarkManager

public final class BookmarkManager extends Object
Provides methods to manage bookmarks in accordance with XEP-0048. Methods for managing URLs and Conferences are provided. It should be noted that some extensions have been made to the XEP. There is an attribute on URLs that marks a url as a news feed and also a sub-element can be added to either a URL or conference indicated that it is shared amongst all users on a server.
  • Method Details

    • getBookmarkManager

      public static BookmarkManager getBookmarkManager(org.jivesoftware.smack.XMPPConnection connection)
      Returns the BookmarkManager for a connection, if it doesn't exist it is created.
      Parameters:
      connection - the connection for which the manager is desired.
      Returns:
      Returns the BookmarkManager for a connection, if it doesn't exist it is created.
      Throws:
      IllegalArgumentException - when the connection is null.
    • getBookmarkedConferences

      public List<BookmarkedConference> getBookmarkedConferences() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Returns all currently bookmarked conferences.
      Returns:
      returns all currently bookmarked conferences
      Throws:
      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.
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
      See Also:
    • addBookmarkedConference

      public void addBookmarkedConference(String name, org.jxmpp.jid.EntityBareJid jid, boolean isAutoJoin, org.jxmpp.jid.parts.Resourcepart nickname, String password) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Adds or updates a conference in the bookmarks.
      Parameters:
      name - the name of the conference
      jid - the jid of the conference
      isAutoJoin - whether to join this conference automatically on login
      nickname - the nickname to use for the user when joining the conference
      password - the password to use for the user when joining the conference
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - thrown when there is an issue retrieving the current bookmarks from the server.
      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.
    • removeBookmarkedConference

      public void removeBookmarkedConference(org.jxmpp.jid.EntityBareJid jid) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Removes a conference from the bookmarks.
      Parameters:
      jid - the jid of the conference to be removed.
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - thrown when there is a problem with the connection attempting to retrieve the bookmarks or persist the bookmarks.
      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.
      IllegalArgumentException - thrown when the conference being removed is a shared conference
    • getBookmarkedURLs

      public List<BookmarkedURL> getBookmarkedURLs() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Returns an unmodifiable collection of all bookmarked urls.
      Returns:
      returns an unmodifiable collection of all bookmarked urls.
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - thrown when there is a problem retrieving bookmarks from the server.
      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.
    • addBookmarkedURL

      public void addBookmarkedURL(String URL, String name, boolean isRSS) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Adds a new url or updates an already existing url in the bookmarks.
      Parameters:
      URL - the url of the bookmark
      name - the name of the bookmark
      isRSS - whether the url is an RSS feed
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - thrown when there is an error retrieving or saving bookmarks from or to the server
      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.
    • removeBookmarkedURL

      public void removeBookmarkedURL(String bookmarkURL) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Removes a url from the bookmarks.
      Parameters:
      bookmarkURL - the url of the bookmark to remove
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - thrown if there is an error retrieving or saving bookmarks from or to the server.
      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.
    • isSupported

      public boolean isSupported() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, InterruptedException
      Check if the service supports bookmarks using private data.
      Returns:
      true if the service supports private data, false otherwise.
      Throws:
      org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
      org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
      Since:
      4.2
      See Also: