Wildfire 3.2.4 Javadoc

org.jivesoftware.wildfire.ldap
Class LdapGroupProvider

java.lang.Object
  extended by org.jivesoftware.wildfire.ldap.LdapGroupProvider
All Implemented Interfaces:
GroupProvider

public class LdapGroupProvider
extends Object
implements GroupProvider

LDAP implementation of the GroupProvider interface. All data in the directory is treated as read-only so any set operations will result in an exception.

Author:
Matt Tucker, Greg Ferguson and Cameron Moore

Constructor Summary
LdapGroupProvider()
          Constructs a new LDAP group provider.
 
Method Summary
 void addMember(String groupName, JID user, boolean administrator)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 Group createGroup(String name)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 void deleteGroup(String name)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 void deleteMember(String groupName, JID user)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 Group getGroup(String groupName)
          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 because LDAP groups are 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)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 void setName(String oldName, String newName)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 void updateMember(String groupName, JID user, boolean administrator)
          Always throws an UnsupportedOperationException because LDAP groups are read-only.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LdapGroupProvider

public LdapGroupProvider()
Constructs a new LDAP group provider.

Method Detail

createGroup

public Group createGroup(String name)
                  throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
createGroup in interface GroupProvider
Parameters:
name - the name of the group to create.
Returns:
the newly created group.
Throws:
UnsupportedOperationException - when called.

deleteGroup

public void deleteGroup(String name)
                 throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
deleteGroup in interface GroupProvider
Parameters:
name - the name of the group to delete
Throws:
UnsupportedOperationException - when called.

getGroup

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

Specified by:
getGroup in interface GroupProvider
Parameters:
groupName - the name of the group.
Returns:
the group with the given name.
Throws:
GroupNotFoundException - If no group with that ID could be found

setName

public void setName(String oldName,
                    String newName)
             throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
setName in interface GroupProvider
Parameters:
oldName - the current name of the group.
newName - the desired new name of the group.
Throws:
UnsupportedOperationException - when called.

setDescription

public void setDescription(String name,
                           String description)
                    throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
setDescription in interface GroupProvider
Parameters:
name - the group name.
description - the group description.
Throws:
UnsupportedOperationException - when called.

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)
               throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
addMember in interface GroupProvider
Parameters:
groupName - name of a group.
user - the JID of the user to add
administrator - true if is an administrator.
Throws:
UnsupportedOperationException - when called.

updateMember

public void updateMember(String groupName,
                         JID user,
                         boolean administrator)
                  throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
updateMember in interface GroupProvider
Parameters:
groupName - the naame of a group.
user - the JID of the user with new privileges
administrator - true if is an administrator.
Throws:
UnsupportedOperationException - when called.

deleteMember

public void deleteMember(String groupName,
                         JID user)
                  throws UnsupportedOperationException
Always throws an UnsupportedOperationException because LDAP groups are read-only.

Specified by:
deleteMember in interface GroupProvider
Parameters:
groupName - the name of a group.
user - the JID of the user to delete.
Throws:
UnsupportedOperationException - when called.

isReadOnly

public boolean isReadOnly()
Returns true because LDAP groups are read-only.

Specified by:
isReadOnly in interface GroupProvider
Returns:
true because all LDAP functions are 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.