Package org.ldaptive.ad.handler
Class PrimaryGroupIdHandler
- java.lang.Object
-
- org.ldaptive.AbstractFreezable
-
- org.ldaptive.transport.MessageFunctional<Q,S>
-
- org.ldaptive.transport.MessageFunctional.Function<SearchRequest,SearchResponse,T,T>
-
- org.ldaptive.transport.AbstractMessageFunctionalEntryHandler<SearchResponse>
-
- org.ldaptive.ad.handler.PrimaryGroupIdHandler
-
- All Implemented Interfaces:
Function<SearchResponse,SearchResponse>,Freezable,SearchResultHandler
public class PrimaryGroupIdHandler extends AbstractMessageFunctionalEntryHandler<SearchResponse> implements SearchResultHandler
Constructs the primary group SID and then searches for that group and puts its DN in the 'memberOf' attribute of the original search entry. This handler requires that entries contain both the 'objectSid' and 'primaryGroupID' attributes. If those attributes are not found this handler is a no-op. This handler should be used in conjunction with theObjectSidHandlerto ensure the 'objectSid' attribute is in the proper form. See http://support2.microsoft.com/kb/297951 This handler should only be used with theSearchOperation.execute()method since it leverages the connection to make further searches.
-
-
Field Summary
Fields Modifier and Type Field Description private StringbaseDnbase DN used for searching for the primary group.private StringgroupFiltersearch filter used to find the primary group.private static intHASH_CODE_SEEDhash code seed.-
Fields inherited from class org.ldaptive.transport.AbstractMessageFunctionalEntryHandler
logger
-
-
Constructor Summary
Constructors Constructor Description PrimaryGroupIdHandler()Default constructor.PrimaryGroupIdHandler(String filter, String dn)Creates a new primary group id handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SearchResponseapply(SearchResponse response)booleanequals(Object o)StringgetBaseDn()Returns the base DN to search for the primary group.StringgetGroupFilter()Returns the search filter used to find the primary group.protected voidhandleAttributes(LdapEntry entry)Handle the attributes of a search entry.inthashCode()PrimaryGroupIdHandlernewInstance()Create a new instance of this message functional.voidsetBaseDn(String dn)Sets the base DN to search for the primary group.voidsetGroupFilter(String filter)Sets the search filter used to find the primary group.-
Methods inherited from class org.ldaptive.transport.AbstractMessageFunctionalEntryHandler
handleAttribute, handleAttributeName, handleAttributeValue, handleAttributeValue, handleDn, handleEntry
-
Methods inherited from class org.ldaptive.transport.MessageFunctional
getConnection, getHandle, getRequest, setConnection, setHandle, setRequest
-
Methods inherited from class org.ldaptive.AbstractFreezable
assertMutable, freeze, freeze, freeze, isFrozen
-
-
-
-
Field Detail
-
HASH_CODE_SEED
private static final int HASH_CODE_SEED
hash code seed.- See Also:
- Constant Field Values
-
groupFilter
private String groupFilter
search filter used to find the primary group.
-
baseDn
private String baseDn
base DN used for searching for the primary group.
-
-
Method Detail
-
getGroupFilter
public String getGroupFilter()
Returns the search filter used to find the primary group.- Returns:
- group search filter
-
setGroupFilter
public void setGroupFilter(String filter)
Sets the search filter used to find the primary group.- Parameters:
filter- search filter
-
getBaseDn
public String getBaseDn()
Returns the base DN to search for the primary group. If this is not set the base DN from the original search is used.- Returns:
- base DN to search for the primary group
-
setBaseDn
public void setBaseDn(String dn)
Sets the base DN to search for the primary group. If this is not set the base DN from the original search is used.- Parameters:
dn- base DN
-
apply
public SearchResponse apply(SearchResponse response)
- Specified by:
applyin interfaceFunction<SearchResponse,SearchResponse>
-
handleAttributes
protected void handleAttributes(LdapEntry entry)
Description copied from class:AbstractMessageFunctionalEntryHandlerHandle the attributes of a search entry.- Overrides:
handleAttributesin classAbstractMessageFunctionalEntryHandler<SearchResponse>- Parameters:
entry- search entry to extract the attributes from
-
newInstance
public PrimaryGroupIdHandler newInstance()
Description copied from class:MessageFunctionalCreate a new instance of this message functional.- Specified by:
newInstancein classMessageFunctional<SearchRequest,SearchResponse>- Returns:
- new instance of this message functional
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classAbstractMessageFunctionalEntryHandler<SearchResponse>
-
hashCode
public int hashCode()
- Specified by:
hashCodein classAbstractMessageFunctionalEntryHandler<SearchResponse>
-
-