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 theObjectSidHandler
to 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 String
baseDn
base DN used for searching for the primary group.private String
groupFilter
search filter used to find the primary group.private static int
HASH_CODE_SEED
hash 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 SearchResponse
apply(SearchResponse response)
boolean
equals(Object o)
String
getBaseDn()
Returns the base DN to search for the primary group.String
getGroupFilter()
Returns the search filter used to find the primary group.protected void
handleAttributes(LdapEntry entry)
Handle the attributes of a search entry.int
hashCode()
PrimaryGroupIdHandler
newInstance()
Create a new instance of this message functional.void
setBaseDn(String dn)
Sets the base DN to search for the primary group.void
setGroupFilter(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:
apply
in interfaceFunction<SearchResponse,SearchResponse>
-
handleAttributes
protected void handleAttributes(LdapEntry entry)
Description copied from class:AbstractMessageFunctionalEntryHandler
Handle the attributes of a search entry.- Overrides:
handleAttributes
in classAbstractMessageFunctionalEntryHandler<SearchResponse>
- Parameters:
entry
- search entry to extract the attributes from
-
newInstance
public PrimaryGroupIdHandler newInstance()
Description copied from class:MessageFunctional
Create a new instance of this message functional.- Specified by:
newInstance
in classMessageFunctional<SearchRequest,SearchResponse>
- Returns:
- new instance of this message functional
-
equals
public boolean equals(Object o)
- Overrides:
equals
in classAbstractMessageFunctionalEntryHandler<SearchResponse>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classAbstractMessageFunctionalEntryHandler<SearchResponse>
-
-