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 classLDAPGroupConnector.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 hierarchyEntrygetNextEntry()Get the next entry that was retrieved by selectEntries().voidinitialize(java.lang.Object o)Initialize the Connector, connect to the LDAP ServerbooleanisExpandingGroups()Returns true if we are currently expanding nested groups.voidselectEntries()Override to request member/uniquemember attributes for non-AD servers and member:range=0-499 for AD servers.voidsetExpandingGroups(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.ExceptionOverride to request member/uniquemember attributes for non-AD servers and member:range=0-499 for AD servers. (non-Javadoc)- Specified by:
selectEntriesin interfaceConnectorInterface- Overrides:
selectEntriesin 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:LDAPConnectorGet 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:
getNextEntryin interfaceConnectorInterface- Overrides:
getNextEntryin 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.ExceptionDescription copied from class:LDAPConnectorInitialize the Connector, connect to the LDAP Server- Specified by:
initializein interfaceConnectorInterface- Overrides:
initializein 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
-
-