Package org.jivesoftware.openfire.roster
Class RosterManager
- java.lang.Object
-
- org.jivesoftware.openfire.container.BasicModule
-
- org.jivesoftware.openfire.roster.RosterManager
-
- All Implemented Interfaces:
Module,GroupEventListener,UserEventListener
public class RosterManager extends BasicModule implements GroupEventListener, UserEventListener
A simple service that allows components to retrieve a roster based solely on the ID of the owner. Users have convenience methods for obtaining a roster associated with the owner. However there are many components that need to retrieve the roster based solely on the generic ID owner key. This interface defines a service that can do that. This allows classes that generically manage resource for resource owners (such as presence updates) to generically offer their services without knowing or caring if the roster owner is a user, chatbot, etc.- Author:
- Iain Shigeoka
-
-
Constructor Summary
Constructors Constructor Description RosterManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadminAdded(Group group, Map params)An administrator was added to a group.voidadminRemoved(Group group, Map params)An administrator was removed from a group.voiddeleteRoster(org.xmpp.packet.JID user)Removes the entire roster of a given user.Collection<Group>getPublicSharedGroups()Returns the list of shared groups whose visibility is public.RostergetRoster(String username)Returns the roster for the given username.static RosterItemProvidergetRosterItemProvider()Collection<Group>getSharedGroups(String username)Returns a collection with all the groups that the user may include in his roster.voidgroupCreated(Group group, Map params)A group was created.voidgroupDeleting(Group group, Map params)A group is being deleted.voidgroupModified(Group group, Map params)A group's name, description, or an extended property was changed.voidinitialize(XMPPServer server)Initializes the basic module.booleanisGroupVisible(Group group, org.xmpp.packet.JID user)Returns true if a given group is visible to a given user.static booleanisPublicSharedGroup(Group group)Returns true if the specified Group may be seen by all users in the system.static booleanisRosterServiceEnabled()Returns true if the roster service is enabled.static booleanisRosterVersioningEnabled()Returns true if the roster versioning is enabled.static booleanisSharedGroup(Group group)Returns true if the specified Group may be included in a user roster.voidmemberAdded(Group group, Map params)A member was added to a group.voidmemberRemoved(Group group, Map params)A member was removed from a group.voidstart()Starts the basic module.voidstop()Stops the basic module.voiduserCreated(User newUser, Map<String,Object> params)A new user has been created so members of public shared groups need to have their rosters updated.voiduserDeleting(User user, Map<String,Object> params)A user is being deleted.voiduserModified(User user, Map<String,Object> params)A user's name, email, or an extended property was changed.-
Methods inherited from class org.jivesoftware.openfire.container.BasicModule
destroy, getName
-
-
-
-
Method Detail
-
isRosterServiceEnabled
public static boolean isRosterServiceEnabled()
Returns true if the roster service is enabled. When disabled it is not possible to retrieve users rosters or broadcast presence packets to roster contacts.- Returns:
- true if the roster service is enabled.
-
isRosterVersioningEnabled
public static boolean isRosterVersioningEnabled()
Returns true if the roster versioning is enabled.- Returns:
- true if the roster versioning is enabled.
-
getRoster
public Roster getRoster(String username) throws UserNotFoundException
Returns the roster for the given username.- Parameters:
username- the username to search for.- Returns:
- the roster associated with the ID.
- Throws:
UserNotFoundException- if the ID does not correspond to a known entity on the server.
-
deleteRoster
public void deleteRoster(org.xmpp.packet.JID user)
Removes the entire roster of a given user. This is necessary when a user account is being deleted from the server.- Parameters:
user- the user.
-
getSharedGroups
public Collection<Group> getSharedGroups(String username)
Returns a collection with all the groups that the user may include in his roster. The following criteria will be used to select the groups: 1) Groups that are configured so that everybody can include in his roster, 2) Groups that are configured so that its users may include the group in their rosters and the user is a group user of the group and 3) User belongs to a Group that may see a Group that whose members may include the Group in their rosters.- Parameters:
username- the username of the user to return his shared groups.- Returns:
- a collection with all the groups that the user may include in his roster.
-
getPublicSharedGroups
public Collection<Group> getPublicSharedGroups()
Returns the list of shared groups whose visibility is public.- Returns:
- the list of shared groups whose visibility is public.
-
groupCreated
public void groupCreated(Group group, Map params)
Description copied from interface:GroupEventListenerA group was created.- Specified by:
groupCreatedin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
groupDeleting
public void groupDeleting(Group group, Map params)
Description copied from interface:GroupEventListenerA group is being deleted.- Specified by:
groupDeletingin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
groupModified
public void groupModified(Group group, Map params)
Description copied from interface:GroupEventListenerA group's name, description, or an extended property was changed.- Specified by:
groupModifiedin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
initialize
public void initialize(XMPPServer server)
Description copied from class:BasicModuleInitializes the basic module.
Inheriting classes that choose to override this method MUST call this initialize() method before accessing BasicModule resources.
- Specified by:
initializein interfaceModule- Overrides:
initializein classBasicModule- Parameters:
server- the server hosting this module.
-
isSharedGroup
public static boolean isSharedGroup(Group group)
Returns true if the specified Group may be included in a user roster. The decision is made based on the group properties that are configurable through the Admin Console.- Parameters:
group- the group to check if it may be considered a shared group.- Returns:
- true if the specified Group may be included in a user roster.
-
isPublicSharedGroup
public static boolean isPublicSharedGroup(Group group)
Returns true if the specified Group may be seen by all users in the system. The decision is made based on the group properties that are configurable through the Admin Console.- Parameters:
group- the group to check if it may be seen by all users in the system.- Returns:
- true if the specified Group may be seen by all users in the system.
-
memberAdded
public void memberAdded(Group group, Map params)
Description copied from interface:GroupEventListenerA member was added to a group.- Specified by:
memberAddedin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
memberRemoved
public void memberRemoved(Group group, Map params)
Description copied from interface:GroupEventListenerA member was removed from a group.- Specified by:
memberRemovedin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
adminAdded
public void adminAdded(Group group, Map params)
Description copied from interface:GroupEventListenerAn administrator was added to a group.- Specified by:
adminAddedin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
adminRemoved
public void adminRemoved(Group group, Map params)
Description copied from interface:GroupEventListenerAn administrator was removed from a group.- Specified by:
adminRemovedin interfaceGroupEventListener- Parameters:
group- the group.params- event parameters.
-
userCreated
public void userCreated(User newUser, Map<String,Object> params)
A new user has been created so members of public shared groups need to have their rosters updated. Members of public shared groups need to have a roster item with subscription FROM for the new user since the new user can see them.- Specified by:
userCreatedin interfaceUserEventListener- Parameters:
newUser- the newly created user.params- event parameters.
-
userDeleting
public void userDeleting(User user, Map<String,Object> params)
Description copied from interface:UserEventListenerA user is being deleted.- Specified by:
userDeletingin interfaceUserEventListener- Parameters:
user- the user.params- event parameters.
-
userModified
public void userModified(User user, Map<String,Object> params)
Description copied from interface:UserEventListenerA user's name, email, or an extended property was changed.- Specified by:
userModifiedin interfaceUserEventListener- Parameters:
user- the user.params- event parameters.
-
isGroupVisible
public boolean isGroupVisible(Group group, org.xmpp.packet.JID user)
Returns true if a given group is visible to a given user. That means, if the user can see the group in his roster.- Parameters:
group- the group to check if the user can see.user- the JID of the user to check if he may see the group.- Returns:
- true if a given group is visible to a given user.
-
start
public void start() throws IllegalStateExceptionDescription copied from class:BasicModuleStarts the basic module.
Inheriting classes that choose to override this method MUST call this start() method before accessing BasicModule resources.
- Specified by:
startin interfaceModule- Overrides:
startin classBasicModule- Throws:
IllegalStateException- If start is called before initialize successfully returns
-
stop
public void stop()
Description copied from class:BasicModuleStops the basic module.
Inheriting classes that choose to override this method MUST call this stop() method before accessing BasicModule resources.
- Specified by:
stopin interfaceModule- Overrides:
stopin classBasicModule
-
getRosterItemProvider
public static RosterItemProvider getRosterItemProvider()
-
-