Package org.ldaptive
Class AbstractConnectionValidator
- java.lang.Object
-
- org.ldaptive.AbstractConnectionValidator
-
- All Implemented Interfaces:
java.util.function.Function<Connection,java.lang.Boolean>
,ConnectionValidator
- Direct Known Subclasses:
CompareConnectionValidator
,SearchConnectionValidator
public abstract class AbstractConnectionValidator extends java.lang.Object implements ConnectionValidator
Base class for connection validator implementations.- Author:
- Middleware Services
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AbstractConnectionValidator.AbstractBuilder<B,T extends AbstractConnectionValidator>
Base class for validator builders.
-
Field Summary
Fields Modifier and Type Field Description static java.time.Duration
DEFAULT_VALIDATE_PERIOD
Default validation period, value is 30 minutes.static java.time.Duration
DEFAULT_VALIDATE_TIMEOUT
Default per connection validate timeout, value is 5 seconds.protected org.slf4j.Logger
logger
Logger for this class.
-
Constructor Summary
Constructors Constructor Description AbstractConnectionValidator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Boolean
apply(Connection conn)
java.util.function.Supplier<java.lang.Boolean>
applyAsync(Connection conn)
Provides an asynchronous implementation ofFunction.apply(Object)
.java.time.Duration
getValidatePeriod()
Returns the interval at which the validation task will be executed.java.time.Duration
getValidateTimeout()
Returns the time at which a validate operation should be abandoned.void
setValidatePeriod(java.time.Duration period)
void
setValidateTimeout(java.time.Duration timeout)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ldaptive.ConnectionValidator
applyAsync
-
-
-
-
Field Detail
-
DEFAULT_VALIDATE_PERIOD
public static final java.time.Duration DEFAULT_VALIDATE_PERIOD
Default validation period, value is 30 minutes.
-
DEFAULT_VALIDATE_TIMEOUT
public static final java.time.Duration DEFAULT_VALIDATE_TIMEOUT
Default per connection validate timeout, value is 5 seconds.
-
logger
protected final org.slf4j.Logger logger
Logger for this class.
-
-
Method Detail
-
getValidatePeriod
public java.time.Duration getValidatePeriod()
Description copied from interface:ConnectionValidator
Returns the interval at which the validation task will be executed.- Specified by:
getValidatePeriod
in interfaceConnectionValidator
- Returns:
- validation period
-
setValidatePeriod
public void setValidatePeriod(java.time.Duration period)
-
getValidateTimeout
public java.time.Duration getValidateTimeout()
Description copied from interface:ConnectionValidator
Returns the time at which a validate operation should be abandoned.- Specified by:
getValidateTimeout
in interfaceConnectionValidator
- Returns:
- validation timeout
-
setValidateTimeout
public void setValidateTimeout(java.time.Duration timeout)
-
apply
public java.lang.Boolean apply(Connection conn)
- Specified by:
apply
in interfacejava.util.function.Function<Connection,java.lang.Boolean>
-
applyAsync
public java.util.function.Supplier<java.lang.Boolean> applyAsync(Connection conn)
Description copied from interface:ConnectionValidator
Provides an asynchronous implementation ofFunction.apply(Object)
. The returned supplier will block until a validation result is received respectingConnectionValidator.getValidateTimeout()
.- Specified by:
applyAsync
in interfaceConnectionValidator
- Parameters:
conn
- to validate- Returns:
- supplier to retrieve the validation result
-
-