All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ldaptive.provider.apache.ApacheLdapProviderConfig Maven / Gradle / Ivy

There is a newer version: 1.3.3
Show newest version
/* See LICENSE for licensing and NOTICE for copyright. */
package org.ldaptive.provider.apache;

import java.util.Arrays;
import org.apache.directory.api.ldap.model.message.Control;
import org.apache.directory.ldap.client.api.LdapConnectionConfig;
import org.ldaptive.ResultCode;
import org.ldaptive.provider.ControlProcessor;
import org.ldaptive.provider.ProviderConfig;

/**
 * Contains configuration data for the Apache Ldap provider.
 *
 * @author  Middleware Services
 */
public class ApacheLdapProviderConfig extends ProviderConfig
{

  /** Connection configuration. */
  private LdapConnectionConfig connectionConfig;


  /** Default constructor. */
  public ApacheLdapProviderConfig()
  {
    setOperationExceptionResultCodes(ResultCode.SERVER_DOWN);
    setControlProcessor(new ControlProcessor<>(new ApacheLdapControlHandler()));
  }


  /**
   * Returns the connection configuration.
   *
   * @return  connection configuration
   */
  public LdapConnectionConfig getLdapConnectionConfig()
  {
    return connectionConfig;
  }


  /**
   * Sets the connection configuration.
   *
   * @param  config  connection configuration
   */
  public void setLdapConnectionConfig(final LdapConnectionConfig config)
  {
    checkImmutable();
    logger.trace("setting ldapConnectionConfig: {}", config);
    connectionConfig = config;
  }


  @Override
  public String toString()
  {
    return
      String.format(
        "[%s@%d::operationExceptionResultCodes=%s, properties=%s, " +
        "connectionStrategy=%s, controlProcessor=%s, ldapConnectionConfig=%s]",
        getClass().getName(),
        hashCode(),
        Arrays.toString(getOperationExceptionResultCodes()),
        getProperties(),
        getConnectionStrategy(),
        getControlProcessor(),
        connectionConfig);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy