Package org.jivesoftware.openfire.group
Class DefaultGroupProvider
- java.lang.Object
-
- org.jivesoftware.openfire.group.AbstractGroupProvider
-
- org.jivesoftware.openfire.group.DefaultGroupProvider
-
- All Implemented Interfaces:
GroupProvider
public class DefaultGroupProvider extends AbstractGroupProvider
Database implementation of the GroupManager interface.- Author:
- Matt Tucker
-
-
Constructor Summary
Constructors Constructor Description DefaultGroupProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMember(String groupName, org.xmpp.packet.JID user, boolean administrator)Adds an entity to a group (optional operation).GroupcreateGroup(String name)Creates a group with the given name (optional operation).voiddeleteGroup(String groupName)Deletes the group (optional operation).voiddeleteMember(String groupName, org.xmpp.packet.JID user)Deletes an entity from a group (optional operation).GroupgetGroup(String name)Returns a group based on it's name.intgetGroupCount()Returns the number of groups in the system.Collection<String>getGroupNames()Returns the Collection of all group names in the system.Collection<String>getGroupNames(int startIndex, int numResults)Returns the Collection of all groups in the system.Collection<String>getGroupNames(org.xmpp.packet.JID user)Returns the Collection of group names that an entity belongs to.booleanisReadOnly()Always true for a read-only providerbooleanisSearchSupported()Returns true if the provider supports group search capability.booleanisSharingSupported()Returns true if this GroupProvider allows group sharing.Collection<String>search(String query)Returns a collection of group search results.Collection<String>search(String query, int startIndex, int numResults)Returns a collection of group search results.voidsetDescription(String name, String description)Updates the group's description.voidsetName(String oldName, String newName)Sets the name of a group to a new name.voidupdateMember(String groupName, org.xmpp.packet.JID user, boolean administrator)Updates the privileges of an entity in a group.-
Methods inherited from class org.jivesoftware.openfire.group.AbstractGroupProvider
getPublicSharedGroupNames, getSharedGroupNames, getSharedGroupNames, getVisibleGroupNames, loadProperties, search
-
-
-
-
Method Detail
-
createGroup
public Group createGroup(String name)
Description copied from interface:GroupProviderCreates a group with the given name (optional operation).The provider is responsible for setting the creation date and modification date to the current date/time.
- Specified by:
createGroupin interfaceGroupProvider- Overrides:
createGroupin classAbstractGroupProvider- Parameters:
name- name of the group.- Returns:
- the newly created group.
-
getGroup
public Group getGroup(String name) throws GroupNotFoundException
Description copied from interface:GroupProviderReturns a group based on it's name.- Parameters:
name- the name of the group.- Returns:
- the group with the given name.
- Throws:
GroupNotFoundException- If no group with that ID could be found
-
setDescription
public void setDescription(String name, String description) throws GroupNotFoundException
Description copied from interface:GroupProviderUpdates the group's description.- Specified by:
setDescriptionin interfaceGroupProvider- Overrides:
setDescriptionin classAbstractGroupProvider- Parameters:
name- the group name.description- the group description.- Throws:
GroupNotFoundException- if the group could not be found
-
setName
public void setName(String oldName, String newName) throws GroupAlreadyExistsException
Description copied from interface:GroupProviderSets the name of a group to a new name.- Specified by:
setNamein interfaceGroupProvider- Overrides:
setNamein classAbstractGroupProvider- Parameters:
oldName- the current name of the group.newName- the desired new name of the group.- Throws:
GroupAlreadyExistsException- if the group alrady exists
-
deleteGroup
public void deleteGroup(String groupName)
Description copied from interface:GroupProviderDeletes the group (optional operation).- Specified by:
deleteGroupin interfaceGroupProvider- Overrides:
deleteGroupin classAbstractGroupProvider- Parameters:
groupName- the name of the group to delete.
-
getGroupCount
public int getGroupCount()
Description copied from interface:GroupProviderReturns the number of groups in the system.- Returns:
- the number of groups in the system.
-
getGroupNames
public Collection<String> getGroupNames()
Description copied from interface:GroupProviderReturns the Collection of all group names in the system.- Returns:
- the Collection of all groups.
-
getGroupNames
public Collection<String> getGroupNames(int startIndex, int numResults)
Description copied from interface:GroupProviderReturns the Collection of all groups in the system.- Parameters:
startIndex- start index in results.numResults- number of results to return.- Returns:
- the Collection of all group names given the
startIndexandnumResults.
-
getGroupNames
public Collection<String> getGroupNames(org.xmpp.packet.JID user)
Description copied from interface:GroupProviderReturns the Collection of group names that an entity belongs to.- Parameters:
user- the JID of the entity.- Returns:
- the Collection of group names that the user belongs to.
-
addMember
public void addMember(String groupName, org.xmpp.packet.JID user, boolean administrator)
Description copied from interface:GroupProviderAdds an entity to a group (optional operation).- Specified by:
addMemberin interfaceGroupProvider- Overrides:
addMemberin classAbstractGroupProvider- Parameters:
groupName- the group to add the member touser- the JID of the entity to addadministrator- True if the member is an administrator of the group
-
updateMember
public void updateMember(String groupName, org.xmpp.packet.JID user, boolean administrator)
Description copied from interface:GroupProviderUpdates the privileges of an entity in a group.- Specified by:
updateMemberin interfaceGroupProvider- Overrides:
updateMemberin classAbstractGroupProvider- Parameters:
groupName- the group where the change happeneduser- the JID of the entity with new privilegesadministrator- True if the member is an administrator of the group
-
deleteMember
public void deleteMember(String groupName, org.xmpp.packet.JID user)
Description copied from interface:GroupProviderDeletes an entity from a group (optional operation).- Specified by:
deleteMemberin interfaceGroupProvider- Overrides:
deleteMemberin classAbstractGroupProvider- Parameters:
groupName- the group name.user- the JID of the entity to delete.
-
isReadOnly
public boolean isReadOnly()
Description copied from class:AbstractGroupProviderAlways true for a read-only provider- Specified by:
isReadOnlyin interfaceGroupProvider- Overrides:
isReadOnlyin classAbstractGroupProvider- Returns:
- true if the user provider is read-only.
-
search
public Collection<String> search(String query)
Description copied from class:AbstractGroupProviderReturns a collection of group search results. This implementation returns an empty collection.- Specified by:
searchin interfaceGroupProvider- Overrides:
searchin classAbstractGroupProvider- Parameters:
query- the search string for group names.- Returns:
- all groups that match the search.
-
search
public Collection<String> search(String query, int startIndex, int numResults)
Description copied from class:AbstractGroupProviderReturns a collection of group search results. This implementation returns an empty collection.- Specified by:
searchin interfaceGroupProvider- Overrides:
searchin classAbstractGroupProvider- Parameters:
query- the search string for group names.startIndex- start index in results.numResults- number of results to return.- Returns:
- all groups that match the search.
-
isSearchSupported
public boolean isSearchSupported()
Description copied from class:AbstractGroupProviderReturns true if the provider supports group search capability. This implementation always returns false.- Specified by:
isSearchSupportedin interfaceGroupProvider- Overrides:
isSearchSupportedin classAbstractGroupProvider- Returns:
- true if searching is supported.
-
isSharingSupported
public boolean isSharingSupported()
Description copied from interface:GroupProviderReturns true if this GroupProvider allows group sharing. Shared groups enable roster sharing.- Specified by:
isSharingSupportedin interfaceGroupProvider- Overrides:
isSharingSupportedin classAbstractGroupProvider- Returns:
- true if the group provider supports group sharing.
-
-