Package org.ldaptive.control.util
Class PersistentSearchClient
- java.lang.Object
-
- org.ldaptive.control.util.PersistentSearchClient
-
public class PersistentSearchClient extends Object
Client that simplifies using the persistent search control.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanchangesOnlyWhether to return only changed entries.private EnumSet<PersistentSearchChangeType>changeTypesChange types.private ConnectionFactoryfactoryConnection factory to get a connection from.private SearchOperationHandlehandleSearch operation handle.protected LoggerloggerLogger for this class.private Consumer<LdapEntry>onEntryInvoked when an entry is received.private Consumer<Exception>onExceptionInvoked when an exception is received.private Consumer<Result>onResultInvoked when a result is received.private booleanreturnEcsWhether to return an Entry Change Notification control.
-
Constructor Summary
Constructors Constructor Description PersistentSearchClient(ConnectionFactory cf, EnumSet<PersistentSearchChangeType> types, boolean co, boolean re)Creates a new persistent search client.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabandon()Invokes an abandon operation on the search handle.private RequestControl[]appendRequestControls(SearchRequest request)Creates a new array of request controls which includes the persistent search request control.SearchOperationHandlesend(SearchRequest request)Performs an async search operation with thePersistentSearchRequestControl.voidsetOnEntry(Consumer<LdapEntry> consumer)Sets the onEntry consumer.voidsetOnException(Consumer<Exception> consumer)Sets the onException consumer.voidsetOnResult(Consumer<Result> consumer)Sets the onResult consumer.
-
-
-
Field Detail
-
logger
protected final Logger logger
Logger for this class.
-
factory
private final ConnectionFactory factory
Connection factory to get a connection from.
-
changeTypes
private final EnumSet<PersistentSearchChangeType> changeTypes
Change types.
-
changesOnly
private final boolean changesOnly
Whether to return only changed entries.
-
returnEcs
private final boolean returnEcs
Whether to return an Entry Change Notification control.
-
handle
private SearchOperationHandle handle
Search operation handle.
-
-
Constructor Detail
-
PersistentSearchClient
public PersistentSearchClient(ConnectionFactory cf, EnumSet<PersistentSearchChangeType> types, boolean co, boolean re)
Creates a new persistent search client.- Parameters:
cf- to get a connection fromtypes- persistent search change typesco- whether only changed entries are returnedre- return an Entry Change Notification control
-
-
Method Detail
-
setOnEntry
public void setOnEntry(Consumer<LdapEntry> consumer)
Sets the onEntry consumer.- Parameters:
consumer- to invoke when an entry is received
-
setOnResult
public void setOnResult(Consumer<Result> consumer)
Sets the onResult consumer.- Parameters:
consumer- to invoke when a result is received
-
setOnException
public void setOnException(Consumer<Exception> consumer)
Sets the onException consumer.- Parameters:
consumer- to invoke when a sync info message is received
-
send
public SearchOperationHandle send(SearchRequest request) throws LdapException
Performs an async search operation with thePersistentSearchRequestControl. The supplied request is modified in the following way:AbstractRequestMessage.setControls( org.ldaptive.control.RequestControl...)is invoked withPersistentSearchRequestControl
The search request object should not be reused for any other search operations.
- Parameters:
request- search request to execute- Returns:
- search operation handle
- Throws:
LdapException- if the search fails
-
abandon
public void abandon()
Invokes an abandon operation on the search handle.
-
appendRequestControls
private RequestControl[] appendRequestControls(SearchRequest request)
Creates a new array of request controls which includes the persistent search request control. Any other request controls are included.- Parameters:
request- to read controls from- Returns:
- search request controls
-
-