Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.roster
Class DefaultRosterItemProvider

    java.lang.Object
      org.jivesoftware.openfire.roster.DefaultRosterItemProvider

All Implemented Interfaces:
  RosterItemProvider

    public class DefaultRosterItemProvider

extends Object
implements RosterItemProvider

Defines the provider methods required for creating, reading, updating and deleting roster items.

Rosters are another user resource accessed via the user or chatbot's long ID. A user/chatbot may have zero or more roster items and each roster item may have zero or more groups. Each roster item is additionaly keyed on a XMPP jid. In most cases, the entire roster will be read in from memory and manipulated or sent to the user. However some operations will need to retrive specific roster items rather than the entire roster.

Author:
  Iain Shigeoka

Constructor Summary
`DefaultRosterItemProvider()`

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).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DefaultRosterItemProvider

    public DefaultRosterItemProvider()

Method Detail

### createItem

    public RosterItem createItem(String username,
                                 RosterItem item)
                          throws UserAlreadyExistsException

  Description copied from interface: `RosterItemProvider`
  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).

  Specified by:
    `createItem` in interface `RosterItemProvider`
  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

    public void updateItem(String username,
                           RosterItem item)
                    throws UserNotFoundException

  Description copied from interface: `RosterItemProvider`
  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.

  Specified by:
    `updateItem` in interface `RosterItemProvider`
  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

    public void deleteItem(String username,
                           long rosterItemID)

  Description copied from interface: `RosterItemProvider`
  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.

  Specified by:
    `deleteItem` in interface `RosterItemProvider`
  Parameters:
    `username` - the long ID of the user/chatbot that owns the roster item
    `rosterItemID` - The roster item to delete

### getUsernames

    public Iterator<String> getUsernames(String jid)

  Description copied from interface: `RosterItemProvider`
  Returns an iterator on the usernames whose roster includes the specified JID.

  Specified by:
    `getUsernames` in interface `RosterItemProvider`
  Parameters:
    `jid` - the jid that the rosters should include.
  Returns:
    an iterator on the usernames whose roster includes the specified JID.

### getItemCount

    public int getItemCount(String username)

  Description copied from interface: `RosterItemProvider`
  Obtain a count of the number of roster items available for the given user.

  Specified by:
    `getItemCount` in interface `RosterItemProvider`
  Parameters:
    `username` - the username of the user/chatbot that owns the roster items
  Returns:
    The number of roster items available for the user

### getItems

    public Iterator<RosterItem> getItems(String username)

  Description copied from interface: `RosterItemProvider`
  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.

  Specified by:
    `getItems` in interface `RosterItemProvider`
  Parameters:
    `username` - the username of the user/chatbot that owns the roster items
  Returns:
    An iterator of all RosterItems owned by the user

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.