Package org.ldaptive
Class AbstractOperationConnectionValidator<Q extends Request,S extends Result>
java.lang.Object
org.ldaptive.AbstractFreezable
org.ldaptive.AbstractConnectionValidator
org.ldaptive.AbstractOperationConnectionValidator<Q,S>
- Type Parameters:
Q- type of requestS- type of result
- All Implemented Interfaces:
Function<Connection,,Boolean> ConnectionValidator,Freezable
- Direct Known Subclasses:
CompareConnectionValidator,SearchConnectionValidator
public abstract class AbstractOperationConnectionValidator<Q extends Request,S extends Result>
extends AbstractConnectionValidator
Base class for validators that use an operation to perform validation. By default, validation is considered
successful if the operation result contains any result code. Stricter validation can be configured by setting
validResultCodes.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classAbstractOperationConnectionValidator.AbstractBuilder<Q extends Request,S extends Result, B, T extends AbstractOperationConnectionValidator<Q, S>> Base class for operation validator builders. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate QOperation request.private ResultCode[]Valid result codes.Fields inherited from class org.ldaptive.AbstractConnectionValidator
DEFAULT_VALIDATE_PERIOD, DEFAULT_VALIDATE_TIMEOUT, logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyAsync(Connection conn, Consumer<Boolean> function) Provides an asynchronous implementation ofFunction.apply(Object).Returns the operation request.Returns the valid result codes.protected abstract OperationHandle<Q,S> performOperation(Connection conn) Perform the operation for this validator.voidsetRequest(Q req) Sets the operation request.voidsetValidResultCodes(ResultCode... codes) Sets the valid result codes.toString()Methods inherited from class org.ldaptive.AbstractConnectionValidator
apply, applyAsync, getOnFailure, getOnSuccess, getTimeoutIsFailure, getValidatePeriod, getValidateTimeout, setOnFailure, setOnSuccess, setTimeoutIsFailure, setValidatePeriod, setValidateTimeoutMethods inherited from class org.ldaptive.AbstractFreezable
assertMutable, freeze, freeze, freeze, isFrozen
-
Field Details
-
request
Operation request. -
validResultCodes
Valid result codes.
-
-
Constructor Details
-
AbstractOperationConnectionValidator
public AbstractOperationConnectionValidator()
-
-
Method Details
-
getRequest
Returns the operation request.- Returns:
- operation request
-
setRequest
Sets the operation request.- Parameters:
req- operation request
-
getValidResultCodes
Returns the valid result codes.- Returns:
- valid result codes
-
setValidResultCodes
Sets the valid result codes.- Parameters:
codes- that represent a valid connection
-
performOperation
Perform the operation for this validator.- Parameters:
conn- to validate- Returns:
- operation handle
-
applyAsync
Description copied from interface:ConnectionValidatorProvides an asynchronous implementation ofFunction.apply(Object). The supplied consumer will be invoked with the validation result.ConnectionValidator.getValidateTimeout()must be enforced by the caller.- Parameters:
conn- to validatefunction- to consume the validation result
-
toString
- Overrides:
toStringin classAbstractConnectionValidator
-