org.springframework.ldap.pool.validation

## Class DefaultDirContextValidator

- java.lang.Object
- - org.springframework.ldap.pool.validation.DefaultDirContextValidator

- All Implemented Interfaces:
    DirContextValidator

      public class DefaultDirContextValidator
      extends Object
      implements DirContextValidator

  Default `DirContext` validator that executes `DirContext.search(String, String, SearchControls)`. The name, filter and `SearchControls` are all configurable. There is no special handling for read only versus read write `DirContext`s.
  Configuration:

  Property | Description | Required | Default
  --- | --- | --- | ---
  base | The name parameter to the search method. | No | ""
  filter | The filter parameter to the search method. | No | "objectclass=*"
  searchControls | The `SearchControls` parameter to the search method. | No | `SearchControls.setCountLimit(long)` = 1 `SearchControls.setReturningAttributes(String[])` = new String[] { "objectclass" } `SearchControls.setTimeLimit(int)` = 500

  Author:
    Eric Dalquist

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_FILTER`
    `protected org.slf4j.Logger` | `logger` Logger for this class and sub-classes

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultDirContextValidator()` Create the default validator, creates `SearchControls` with search scope `OBJECT_SCOPE`, a countLimit of 1, returningAttributes of objectclass and timeLimit of 500.
    `DefaultDirContextValidator(int searchScope)` Create a validator with all the defaults of the default constructor, but with the search scope set to the referred value.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getBase()`
    `String` | `getFilter()`
    `SearchControls` | `getSearchControls()`
    `void` | `setBase(String base)`
    `void` | `setFilter(String filter)`
    `void` | `setSearchControls(SearchControls searchControls)`
    `boolean` | `validateDirContext(DirContextType contextType, DirContext dirContext)` Validates the `DirContext`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_FILTER

          public static final String DEFAULT_FILTER

      See Also:
        Constant Field Values

    - #### logger

          protected final org.slf4j.Logger logger

      Logger for this class and sub-classes

  - ### Constructor Detail

    - #### DefaultDirContextValidator

          public DefaultDirContextValidator()

      Create the default validator, creates `SearchControls` with search scope `OBJECT_SCOPE`, a countLimit of 1, returningAttributes of objectclass and timeLimit of 500. The default base is an empty string and the default filter is objectclass=*

    - #### DefaultDirContextValidator

          public DefaultDirContextValidator(int searchScope)

      Create a validator with all the defaults of the default constructor, but with the search scope set to the referred value.
      Parameters:
        `searchScope` - The searchScope to be set in the default `SearchControls`

  - ### Method Detail

    - #### getBase

          public String getBase()

      Returns:
        the baseName

    - #### setBase

          public void setBase(String base)

      Parameters:
        `base` - the baseName to set

    - #### getFilter

          public String getFilter()

      Returns:
        the filter

    - #### setFilter

          public void setFilter(String filter)

      Parameters:
        `filter` - the filter to set

    - #### getSearchControls

          public SearchControls getSearchControls()

      Returns:
        the searchControls

    - #### setSearchControls

          public void setSearchControls(SearchControls searchControls)

      Parameters:
        `searchControls` - the searchControls to set

    - #### validateDirContext

          public boolean validateDirContext(DirContextType contextType,
                                            DirContext dirContext)

      Description copied from interface: `DirContextValidator`
      Validates the `DirContext`. A valid `DirContext` should be able to answer queries and if applicable write to the directory.
      Specified by:
        `validateDirContext` in interface `DirContextValidator`
      Parameters:
        `contextType` - The type of the `DirContext`, refers to if `ContextSource.getReadOnlyContext()` or `ContextSource.getReadWriteContext()` was called to create the `DirContext`
        `dirContext` - The `DirContext` to validate.
      Returns:
        `true` if the `DirContext` operated correctly during validation.
      See Also:
        `DirContextValidator.validateDirContext(DirContextType, javax.naming.directory.DirContext)`