Package structure

This section provides an overview of the logical package structure of the Spring LDAP codebase. The dependencies for each package are clearly noted.

Figure 1.1. Spring LDAP package structure

Spring LDAP package structure

org.springframework.transaction.compensating

The transaction.compensating package contains the generic compensating transaction support. This is not LDAP-specific or JNDI-specific in any way.

  • Dependencies: commons-logging

org.springframework.ldap

The ldap package contains the exceptions of the library. These exceptions form an unchecked hierarchy that mirrors the NamingException hierarchy.

  • Dependencies: spring-core

org.springframework.ldap.core

The ldap.core package contains the central abstractions of the library. These abstractions include AuthenticationSource, ContextSource, DirContextProcessor, and NameClassPairCallbackHandler. This package also contains the central class LdapTemplate, plus various mappers and executors.

  • Dependencies: ldap, ldap.support, spring-beans, spring-core, spring-tx, commons-lang, commons-logging

org.springframework.ldap.core.support

The ldap.core.support package contains supporting implementations of some of the core interfaces.

  • Dependencies: ldap, ldap.core, ldap.support, spring-core, spring-beans, spring-context, commons-lang, commons-logging

org.springframework.ldap.core.simple

The ldap.core.simple package contains Java5-specific parts of Spring LDAP. It's mainly a simplification layer that takes advantage of the generics support in Java5, in order to get typesafe context mappers as well as typesafe search and lookup methods.

  • Dependencies: ldap.core

org.springframework.ldap.pool

The ldap.pool package contains support for detailed pool configuration on a per-ContextSource basis. Pooling support is provided by PoolingContextSource which can wrap any ContextSource and pool both read-only and read-write DirContext objects. Jakarta Commons-Pool is used to provide the underlying pool implementation.

  • Dependencies: ldap.core, commons-lang, commons-pool

org.springframework.ldap.pool.factory

The ldap.pool.factory package contains the actual pooling context source and other classes for context creation.

  • Dependencies: ldap, ldap.core, ldap.pool, spring-beans, spring-tx commons-lang, commons-logging, commons-pool

org.springframework.ldap.pool.validation

The ldap.pool.validation package contains the connection validation support.

  • Dependencies: ldap.pool, commons-lang, commons-logging

org.springframework.ldap.support

The ldap.support package contains supporting utilities, like the exception translation mechanism.

  • Dependencies: ldap, spring-core, commons-logging

org.springframework.ldap.authentication

The ldap.authentication package contains an implementation of the AuthenticationSource interface that can be used if the user should be allowed to read some information even though not logged in.

  • Dependencies: ldap.core, spring-beans, commons-lang

org.springframework.ldap.control

The ldap.control package contains an abstract implementation of the DirContextProcessor interface that can be used as a basis for processing RequestControls and ResponseControls. There is also a concrete implementation that handles paged search results and one that handles sorting. The LDAP Booster Pack is used to get support for controls, unless Java5 is used.

  • Dependencies: ldap, ldap.core, LDAP booster pack (optional), spring-core, commons-lang, commons-logging

org.springframework.ldap.filter

The ldap.filter package contains the Filter abstraction and several implementations of it.

  • Dependencies: ldap.core, spring-core, commons-lang

org.springframework.ldap.transaction.compensating

The ldap.transaction.compensating package contains the core LDAP-specific implementation of compensating transactions.

  • Dependencies: ldap.core, transaction.compensating, spring-core, commons-lang, commons-logging

org.springframework.ldap.transaction.compensating.manager

The ldap.transaction.compensating.manager package contains the core implementation classes for client-side compensating transactions.

  • Dependencies: ldap, ldap.core, ldap.support, ldap.transaction.compensating, transaction.compensating, spring-tx, spring-jdbc, spring-orm, commons-logging

org.springframework.ldap.transaction.compensating.support

The ldap.transaction.compensating.support package contains useful helper classes for client-side compensating transactions.

  • Dependencies: ldap.core, ldap.transaction.compensating

For the exact list of jar dependencies, see the Spring LDAP Maven2 Project Object Model (POM) files in the source tree.