public class RecursiveEntryHandler extends AbstractSearchEntryHandler
dn: uugid=group1,ou=groups,dc=ldaptive,dc=org uugid: group1 member: uugid=group2,ou=groups,dc=ldaptive,dc=org dn: uugid=group2,ou=groups,dc=ldaptive,dc=org uugid: group2
With the following code:
RecursiveEntryHandler reh = new RecursiveEntryHandler("member", "uugid");
Will produce this result for the query (uugid=group1):
dn: uugid=group1,ou=groups,dc=ldaptive,dc=org uugid: group1 uugid: group2 member: uugid=group2,ou=groups,dc=ldaptive,dc=org
Modifier and Type | Field and Description |
---|---|
private static int |
HASH_CODE_SEED
hash code seed.
|
private String[] |
mergeAttributes
Attribute(s) to merge.
|
private String[] |
retAttrs
Attributes to return when searching, mergeAttributes + searchAttribute.
|
private String |
searchAttribute
Attribute to recursively search on.
|
logger
Constructor and Description |
---|
RecursiveEntryHandler()
Default constructor.
|
RecursiveEntryHandler(String searchAttr,
String... mergeAttrs)
Creates a new recursive entry handler.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
String[] |
getMergeAttributes()
Returns the attribute names that will be merged by the recursive search.
|
String |
getSearchAttribute()
Returns the attribute name that will be recursively searched on.
|
HandlerResult<SearchEntry> |
handle(Connection conn,
SearchRequest request,
SearchEntry entry)
Handle the supplied result.
|
int |
hashCode() |
protected void |
initalizeReturnAttributes()
Initializes the return attributes array.
|
private void |
readSearchAttribute(Connection conn,
LdapEntry entry,
List<String> searchedDns)
Reads the values of
searchAttribute from the supplied attributes and calls recursiveSearch(org.ldaptive.Connection, java.lang.String, org.ldaptive.LdapEntry, java.util.List<java.lang.String>) for
each. |
private void |
recursiveSearch(Connection conn,
String dn,
LdapEntry entry,
List<String> searchedDns)
Recursively gets the attribute(s)
mergeAttributes for the supplied dn and adds the values to the supplied
attributes. |
void |
setMergeAttributes(String... mergeAttrs)
Sets the attribute name that will be merged by the recursive search.
|
void |
setSearchAttribute(String name)
Sets the attribute name that will be recursively searched on.
|
String |
toString() |
handleAttribute, handleAttributeName, handleAttributes, handleAttributeValue, handleAttributeValue, handleDn, initializeRequest
private static final int HASH_CODE_SEED
private String searchAttribute
private String[] mergeAttributes
private String[] retAttrs
public String getSearchAttribute()
public void setSearchAttribute(String name)
name
- of the search attributepublic String[] getMergeAttributes()
public void setMergeAttributes(String... mergeAttrs)
mergeAttrs
- attribute names to mergeprotected void initalizeReturnAttributes()
public HandlerResult<SearchEntry> handle(Connection conn, SearchRequest request, SearchEntry entry) throws LdapException
Handler
handle
in interface Handler<SearchRequest,SearchEntry>
handle
in interface SearchEntryHandler
handle
in class AbstractSearchEntryHandler
conn
- connection the operation was executed onrequest
- executed by the operationentry
- produced from the operationLdapException
- if handling failsprivate void readSearchAttribute(Connection conn, LdapEntry entry, List<String> searchedDns) throws LdapException
searchAttribute
from the supplied attributes and calls recursiveSearch(org.ldaptive.Connection, java.lang.String, org.ldaptive.LdapEntry, java.util.List<java.lang.String>)
for
each.conn
- to perform search operation onentry
- to readsearchedDns
- list of DNs whose attributes have been readLdapException
- if a search error occursprivate void recursiveSearch(Connection conn, String dn, LdapEntry entry, List<String> searchedDns) throws LdapException
mergeAttributes
for the supplied dn and adds the values to the supplied
attributes.conn
- to perform search operation ondn
- to get attribute(s) forentry
- to merge withsearchedDns
- list of DNs that have been searched forLdapException
- if a search error occurspublic boolean equals(Object o)
equals
in class AbstractSearchEntryHandler
public int hashCode()
hashCode
in class AbstractSearchEntryHandler
Copyright © 2003-2019 Virginia Tech. All Rights Reserved.