Wildfire 3.2.4 Javadoc

org.jivesoftware.wildfire.group
Class DefaultGroupProvider

java.lang.Object
  extended by org.jivesoftware.wildfire.group.DefaultGroupProvider
All Implemented Interfaces:
GroupProvider

public class DefaultGroupProvider
extends Object
implements GroupProvider

Database implementation of the GroupManager interface.

Author:
Matt Tucker

Constructor Summary
DefaultGroupProvider()
           
 
Method Summary
 void addMember(String groupName, JID user, boolean administrator)
          Adds an entity to a group (optional operation).
 Group createGroup(String name)
          Creates a group with the given name (optional operation).
 void deleteGroup(String groupName)
          Deletes the group (optional operation).
 void deleteMember(String groupName, JID user)
          Deletes an entity from a group (optional operation).
 Group getGroup(String name)
          Returns a group based on it's name.
 int getGroupCount()
          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(JID user)
          Returns the Collection of group names that an entity belongs to.
 boolean isReadOnly()
          Returns true if this GroupProvider is read-only.
 boolean isSearchSupported()
          Returns true if group searching is supported by the provider.
 Collection<String> search(String query)
          Returns the group names that match a search.
 Collection<String> search(String query, int startIndex, int numResults)
          Returns the group names that match a search given a start index and desired number of results.
 void setDescription(String name, String description)
          Updates the group's description.
 void setName(String oldName, String newName)
          Sets the name of a group to a new name.
 void updateMember(String groupName, JID user, boolean administrator)
          Updates the privileges of an entity in a group.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultGroupProvider

public DefaultGroupProvider()
Method Detail

createGroup

public Group createGroup(String name)
                  throws GroupAlreadyExistsException
Description copied from interface: GroupProvider
Creates 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:
createGroup in interface GroupProvider
Parameters:
name - name of the group.
Returns:
the newly created group.
Throws:
GroupAlreadyExistsException - if a group with the same name already exists.

getGroup

public Group getGroup(String name)
               throws GroupNotFoundException
Description copied from interface: GroupProvider
Returns a group based on it's name.

Specified by:
getGroup in interface GroupProvider
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: GroupProvider
Updates the group's description.

Specified by:
setDescription in interface GroupProvider
Parameters:
name - the group name.
description - the group description.
Throws:
GroupNotFoundException - if no existing group could be found to update.

setName

public void setName(String oldName,
                    String newName)
             throws UnsupportedOperationException,
                    GroupAlreadyExistsException
Description copied from interface: GroupProvider
Sets the name of a group to a new name.

Specified by:
setName in interface GroupProvider
Parameters:
oldName - the current name of the group.
newName - the desired new name of the group.
Throws:
UnsupportedOperationException - if the provider does not support the operation.
GroupAlreadyExistsException - if a group with the same name already exists.

deleteGroup

public void deleteGroup(String groupName)
Description copied from interface: GroupProvider
Deletes the group (optional operation).

Specified by:
deleteGroup in interface GroupProvider
Parameters:
groupName - the name of the group to delete.

getGroupCount

public int getGroupCount()
Description copied from interface: GroupProvider
Returns the number of groups in the system.

Specified by:
getGroupCount in interface GroupProvider
Returns:
the number of groups in the system.

getGroupNames

public Collection<String> getGroupNames()
Description copied from interface: GroupProvider
Returns the Collection of all group names in the system.

Specified by:
getGroupNames in interface GroupProvider
Returns:
the Collection of all groups.

getGroupNames

public Collection<String> getGroupNames(int startIndex,
                                        int numResults)
Description copied from interface: GroupProvider
Returns the Collection of all groups in the system.

Specified by:
getGroupNames in interface GroupProvider
Parameters:
startIndex - start index in results.
numResults - number of results to return.
Returns:
the Collection of all group names given the startIndex and numResults.

getGroupNames

public Collection<String> getGroupNames(JID user)
Description copied from interface: GroupProvider
Returns the Collection of group names that an entity belongs to.

Specified by:
getGroupNames in interface GroupProvider
Parameters:
user - the JID of the entity.
Returns:
the Collection of group names that the user belongs to.

addMember

public void addMember(String groupName,
                      JID user,
                      boolean administrator)
Description copied from interface: GroupProvider
Adds an entity to a group (optional operation).

Specified by:
addMember in interface GroupProvider
Parameters:
groupName - the group to add the member to
user - the JID of the entity to add
administrator - True if the member is an administrator of the group

updateMember

public void updateMember(String groupName,
                         JID user,
                         boolean administrator)
Description copied from interface: GroupProvider
Updates the privileges of an entity in a group.

Specified by:
updateMember in interface GroupProvider
Parameters:
groupName - the group where the change happened
user - the JID of the entity with new privileges
administrator - True if the member is an administrator of the group

deleteMember

public void deleteMember(String groupName,
                         JID user)
Description copied from interface: GroupProvider
Deletes an entity from a group (optional operation).

Specified by:
deleteMember in interface GroupProvider
Parameters:
groupName - the group name.
user - the JID of the entity to delete.

isReadOnly

public boolean isReadOnly()
Description copied from interface: GroupProvider
Returns true if this GroupProvider is read-only. When read-only, groups can not be created, deleted, or modified.

Specified by:
isReadOnly in interface GroupProvider
Returns:
true if the user provider is read-only.

search

public Collection<String> search(String query)
Description copied from interface: GroupProvider
Returns the group names that match a search. The search is over group names and implicitly uses wildcard matching (although the exact search semantics are left up to each provider implementation). For example, a search for "HR" should match the groups "HR", "HR Department", and "The HR People".

Before searching or showing a search UI, use the GroupProvider.isSearchSupported() method to ensure that searching is supported.

Specified by:
search in interface GroupProvider
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 interface: GroupProvider
Returns the group names that match a search given a start index and desired number of results. The search is over group names and implicitly uses wildcard matching (although the exact search semantics are left up to each provider implementation). For example, a search for "HR" should match the groups "HR", "HR Department", and "The HR People".

Before searching or showing a search UI, use the GroupProvider.isSearchSupported() method to ensure that searching is supported.

Specified by:
search in interface GroupProvider
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 interface: GroupProvider
Returns true if group searching is supported by the provider.

Specified by:
isSearchSupported in interface GroupProvider
Returns:
true if searching is supported.

Wildfire 3.2.4 Javadoc

Copyright © 2003-2007 Jive Software.