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 request
S - 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.
  • Field Details

    • request

      private Q extends Request request
      Operation request.
    • validResultCodes

      private ResultCode[] validResultCodes
      Valid result codes.
  • Constructor Details

    • AbstractOperationConnectionValidator

      public AbstractOperationConnectionValidator()
  • Method Details

    • getRequest

      public Q getRequest()
      Returns the operation request.
      Returns:
      operation request
    • setRequest

      public void setRequest(Q req)
      Sets the operation request.
      Parameters:
      req - operation request
    • getValidResultCodes

      public ResultCode[] getValidResultCodes()
      Returns the valid result codes.
      Returns:
      valid result codes
    • setValidResultCodes

      public void setValidResultCodes(ResultCode... codes)
      Sets the valid result codes.
      Parameters:
      codes - that represent a valid connection
    • performOperation

      protected abstract OperationHandle<Q,S> performOperation(Connection conn)
      Perform the operation for this validator.
      Parameters:
      conn - to validate
      Returns:
      operation handle
    • applyAsync

      public void applyAsync(Connection conn, Consumer<Boolean> function)
      Description copied from interface: ConnectionValidator
      Provides an asynchronous implementation of Function.apply(Object). The supplied consumer will be invoked with the validation result. ConnectionValidator.getValidateTimeout() must be enforced by the caller.
      Parameters:
      conn - to validate
      function - to consume the validation result
    • toString

      public String toString()
      Overrides:
      toString in class AbstractConnectionValidator