Package com.ibm.di.connector
Class LDAPGroupConnector
- java.lang.Object
-
- com.ibm.di.connector.Connector
-
- com.ibm.di.connector.LDAPConnector
-
- com.ibm.di.connector.LDAPGroupConnector
-
- All Implemented Interfaces:
ConnectorInterface
,VersionInfoInterface
public class LDAPGroupConnector extends LDAPConnector
The LDAPGroup connector extends the LDAPConnector to read entries from an LDAP directory. Each entry returned is processed by the LDAPGroup connector in the following manner- If the entry has an attribute called uniquemember or member its member contents is iterated by the LDAPGroup connector.
- If the entry is not a group entry it is ignored
- If the member attribute contains other group entries, the current group is completed before nested groups are iterated.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LDAPGroupConnector.GroupEntry
-
Field Summary
-
Fields inherited from class com.ibm.di.connector.Connector
ALL_MODES, myLog, PROPERTY_MESSAGE, PROPERTY_READER, PROPERTY_WRITER
-
-
Constructor Summary
Constructors Constructor Description LDAPGroupConnector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.ArrayList<LDAPGroupConnector.GroupEntry>
getGroupHierarchy()
Returns the current group hierarchyEntry
getNextEntry()
Get the next entry that was retrieved by selectEntries().void
initialize(java.lang.Object o)
Initialize the Connector, connect to the LDAP Serverboolean
isExpandingGroups()
Returns true if we are currently expanding nested groups.void
selectEntries()
Override to request member/uniquemember attributes for non-AD servers and member:range=0-499 for AD servers.void
setExpandingGroups(java.lang.Boolean expand)
Sets the expandNestedGroup flag to determine if groups are to be expanded.-
Methods inherited from class com.ibm.di.connector.LDAPConnector
addAttributeValue, at2entry, callErrorHookOnAttributeInUseException, compare, compare, deleteEntry, entry2at, findEntry, flagSet, formatSearchValue, getAttributeSyntax, getCallErrorHook, getCurrentEntry, getLdapContext, getServerControls, getServerInfo, getVersion, isDeltaSupported, isExceptionFatal, isServerAdminControl, mapAttributeSyntax, modEntry, modEntry, moveEntry, putEntry, queryNamingContexts, queryObjectClassAttributes, querySchema, rebind, rebind, removeAllAttributeValues, removeAttributeValue, replaceAttributeValue, replaceAttributeValueProxy, setADPassword, setServerAdminControl, setSortControl, setsubtreeDeleteSupported, showServerInfo, supportsControl, supportsExtension, supportsPagedResults, supportsPersistantSearch, supportsSorting, supportsVirtualListView, terminate
-
Methods inherited from class com.ibm.di.connector.Connector
addFindEntry, allModes, clearFindEntries, debug, debugMode, extractExceptionInformation, findEntry, getBoolean, getClassInstance, getConfiguration, getContext, getFindEntryCount, getFirstFindEntry, getLog, getMaxDuplicateEntries, getModes, getModes, getName, getNextClient, getNextFindEntry, getParam, getParser, getProperty, getPushbackEntry, getRawConnectorConfiguration, getRSInterface, getUI, hasConfigValue, hasParser, initParser, isIOException, logError, logmsg, pushback, queryOperations, queryReply, queryTables, reconnect, reconnect, registerScriptBeans, replyEntry, setConfiguration, setContext, setCurrent, setDebugMode, setLog, setMaxDuplicateEntries, setModes, setModes, setName, setParam, setParser, setProperty, setRSInterface, terminateServer
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.ibm.di.connector.ConnectorInterface
getConfiguration, getContext, getFindEntryCount, getFirstFindEntry, getMaxDuplicateEntries, getName, getNextClient, getNextFindEntry, getParam, getPushbackEntry, getRawConnectorConfiguration, isIOException, pushback, queryOperations, queryReply, reconnect, registerScriptBeans, replyEntry, setConfiguration, setContext, setCurrent, setLog, setMaxDuplicateEntries, setName, setParam, setRSInterface, terminateServer
-
-
-
-
Method Detail
-
selectEntries
public void selectEntries() throws java.lang.Exception
Override to request member/uniquemember attributes for non-AD servers and member:range=0-499 for AD servers. (non-Javadoc)- Specified by:
selectEntries
in interfaceConnectorInterface
- Overrides:
selectEntries
in classLDAPConnector
- Throws:
java.lang.Exception
- Any Exception by the underlying library- See Also:
LDAPConnector.selectEntries()
-
getGroupHierarchy
public java.util.ArrayList<LDAPGroupConnector.GroupEntry> getGroupHierarchy()
Returns the current group hierarchy- Returns:
-
getNextEntry
public Entry getNextEntry() throws java.lang.Exception
Description copied from class:LDAPConnector
Get the next entry that was retrieved by selectEntries(). The Entry returned is populated with attributes and values from the next entry in the input set. The $dn Attribute of the returned Entry is the distinguished name. If we are using paged-find, possibly retrieve more results.- Specified by:
getNextEntry
in interfaceConnectorInterface
- Overrides:
getNextEntry
in classLDAPConnector
- Returns:
- The next Entry populated with values, or null if nore more Entries
- Throws:
java.lang.Exception
- Any Exception thrown by the underlying libraries- See Also:
ConnectorInterface.selectEntries()
-
isExpandingGroups
public boolean isExpandingGroups()
Returns true if we are currently expanding nested groups.- Returns:
-
setExpandingGroups
public void setExpandingGroups(java.lang.Boolean expand)
Sets the expandNestedGroup flag to determine if groups are to be expanded.- Parameters:
expand
-
-
initialize
public void initialize(java.lang.Object o) throws java.lang.Exception
Description copied from class:LDAPConnector
Initialize the Connector, connect to the LDAP Server- Specified by:
initialize
in interfaceConnectorInterface
- Overrides:
initialize
in classLDAPConnector
- Parameters:
o
- An Object sent to the initialize method, ignored.- Throws:
java.lang.Exception
- Any Exception by the underlying methods to connect to the LDAP Server
-
-