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 boolean
changesOnly
Whether to return only changed entries.private EnumSet<PersistentSearchChangeType>
changeTypes
Change types.private ConnectionFactory
factory
Connection factory to get a connection from.private SearchOperationHandle
handle
Search operation handle.protected Logger
logger
Logger for this class.private Consumer<LdapEntry>
onEntry
Invoked when an entry is received.private Consumer<Exception>
onException
Invoked when an exception is received.private Consumer<Result>
onResult
Invoked when a result is received.private boolean
returnEcs
Whether 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 void
abandon()
Invokes an abandon operation on the search handle.SearchOperationHandle
send(SearchRequest request)
Performs an async search operation with thePersistentSearchRequestControl
.void
setOnEntry(Consumer<LdapEntry> consumer)
Sets the onEntry consumer.void
setOnException(Consumer<Exception> consumer)
Sets the onException consumer.void
setOnResult(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.
-
-