Openfire 3.9.3 Javadoc

org.jivesoftware.openfire.roster
Interface RosterItemProvider

All Known Implementing Classes:
DefaultRosterItemProvider

public interface RosterItemProvider


Method Summary
 RosterItem createItem(String username, RosterItem item)
          Creates a new roster item for the given user (optional operation).
 void deleteItem(String username, long rosterItemID)
          Delete the roster item with the given itemJID for the user (optional operation).
 int getItemCount(String username)
          Obtain a count of the number of roster items available for the given user.
 Iterator<RosterItem> getItems(String username)
          Retrieve an iterator of RosterItems for the given user.
 Iterator<String> getUsernames(String jid)
          Returns an iterator on the usernames whose roster includes the specified JID.
 void updateItem(String username, RosterItem item)
          Update the roster item in storage with the information contained in the given item (optional operation).
 

Method Detail

createItem

RosterItem createItem(String username,
                      RosterItem item)
                      throws UserAlreadyExistsException
Creates a new roster item for the given user (optional operation).

Important! The item passed as a parameter to this method is strictly a convenience for passing all of the data needed for a new roster item. The roster item returned from the method will be cached by Openfire. In some cases, the roster item passed in will be passed back out. However, if an implementation may return RosterItems as a separate class (for example, a RosterItem that directly accesses the backend storage, or one that is an object in an object database).

Parameters:
username - the username of the user/chatbot that owns the roster item.
item - the settings for the roster item to create.
Returns:
the new roster item.
Throws:
UserAlreadyExistsException - if a roster item with the username already exists.

updateItem

void updateItem(String username,
                RosterItem item)
                throws UserNotFoundException
Update the roster item in storage with the information contained in the given item (optional operation).

If you don't want roster items edited through openfire, throw UnsupportedOperationException.

Parameters:
username - the username of the user/chatbot that owns the roster item
item - The roster item to update
Throws:
UserNotFoundException - If no entry could be found to update

deleteItem

void deleteItem(String username,
                long rosterItemID)
Delete the roster item with the given itemJID for the user (optional operation).

If you don't want roster items deleted through openfire, throw UnsupportedOperationException.

Parameters:
username - the long ID of the user/chatbot that owns the roster item
rosterItemID - The roster item to delete

getUsernames

Iterator<String> getUsernames(String jid)
Returns an iterator on the usernames whose roster includes the specified JID.

Parameters:
jid - the jid that the rosters should include.
Returns:
an iterator on the usernames whose roster includes the specified JID.

getItemCount

int getItemCount(String username)
Obtain a count of the number of roster items available for the given user.

Parameters:
username - the username of the user/chatbot that owns the roster items
Returns:
The number of roster items available for the user

getItems

Iterator<RosterItem> getItems(String username)
Retrieve an iterator of RosterItems for the given user.

This method will commonly be called when a user logs in. The data will be cached in memory when possible. However, some rosters may be very large so items may need to be retrieved from the provider more frequently than usual for provider data.

Parameters:
username - the username of the user/chatbot that owns the roster items
Returns:
An iterator of all RosterItems owned by the user

Openfire 3.9.3 Javadoc

Copyright © 2003-2008 Jive Software.