org.springframework.ldap.core.simple
Class SimpleLdapTemplate

java.lang.Object
  extended by org.springframework.ldap.core.simple.SimpleLdapTemplate
All Implemented Interfaces:
SimpleLdapOperations

public class SimpleLdapTemplate
extends Object
implements SimpleLdapOperations

Java-5-based convenience wrapper for the classic LdapTemplate, adding some convenient shortcuts and taking advantage of Java 5 Generics. Use the getLdapOperations() method if you need to invoke less commonly used template methods.

Author:
Mattias Arthursson

Constructor Summary
SimpleLdapTemplate(ContextSource contextSource)
          Constructs a new SimpleLdapTemplate instance, automatically creating a wrapped LdapTemplate instance to work with.
SimpleLdapTemplate(LdapOperations ldapOperations)
          Constructs a new SimpleLdapTemplate instance wrapping the supplied LdapOperations instance.
 
Method Summary
 void bind(String dn, Object obj, Attributes attributes)
          Create an entry in the LDAP tree.
 LdapOperations getLdapOperations()
          Get the wrapped LdapOperations instance.
<T> T
lookup(String dn, ParameterizedContextMapper<T> mapper)
          Perform a lookup of the specified DN and map the result using the mapper.
 DirContextOperations lookupContext(String dn)
          Look up the specified DN, and automatically cast it to a DirContextOperations instance.
 void modifyAttributes(DirContextOperations ctx)
          Modify the Attributes of the entry corresponding to the supplied DirContextOperations instance.
<T> List<T>
search(String base, String filter, ParameterizedContextMapper<T> mapper)
          Search for a List of type T using the supplied filter and link ParametrizedContextMapper.
<T> List<T>
search(String base, String filter, SearchControls controls, ParameterizedContextMapper<T> mapper, DirContextProcessor processor)
          Search for a List of type T using the supplied filter, SearchControls, DirContextProcessor and ParametrizedContextMapper.
 void unbind(String dn)
          Remove an entry from the LDAP tree.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleLdapTemplate

public SimpleLdapTemplate(LdapOperations ldapOperations)
Constructs a new SimpleLdapTemplate instance wrapping the supplied LdapOperations instance.

Parameters:
ldapOperations - the LdapOperations instance to wrap.

SimpleLdapTemplate

public SimpleLdapTemplate(ContextSource contextSource)
Constructs a new SimpleLdapTemplate instance, automatically creating a wrapped LdapTemplate instance to work with.

Parameters:
contextSource -
Method Detail

getLdapOperations

public LdapOperations getLdapOperations()
Description copied from interface: SimpleLdapOperations
Get the wrapped LdapOperations instance.

Specified by:
getLdapOperations in interface SimpleLdapOperations
Returns:
the wrapped LdapOperations instance.

lookup

public <T> T lookup(String dn,
                    ParameterizedContextMapper<T> mapper)
Description copied from interface: SimpleLdapOperations
Perform a lookup of the specified DN and map the result using the mapper.

Specified by:
lookup in interface SimpleLdapOperations
Parameters:
dn - the Distinguished Name to look up.
mapper - the mapper to use.
Returns:
the mapped object, as received by the ParametrizedContextMapper.

search

public <T> List<T> search(String base,
                          String filter,
                          ParameterizedContextMapper<T> mapper)
Description copied from interface: SimpleLdapOperations
Search for a List of type T using the supplied filter and link ParametrizedContextMapper.

Specified by:
search in interface SimpleLdapOperations
Parameters:
base - Base DN relative to the base of the ContextSource - where to start the search.
filter - Search filter.
mapper - the Mapper to supply all results to.
Returns:
a List of type T containing objects for all entries found, as mapped by the ParametrizedContextMapper.

search

public <T> List<T> search(String base,
                          String filter,
                          SearchControls controls,
                          ParameterizedContextMapper<T> mapper,
                          DirContextProcessor processor)
Description copied from interface: SimpleLdapOperations
Search for a List of type T using the supplied filter, SearchControls, DirContextProcessor and ParametrizedContextMapper.

Specified by:
search in interface SimpleLdapOperations
Parameters:
base - Base DN relative to the base of the ContextSource - where to start the search.
filter - Search filter.
controls - the SearchControls. Make sure that the returningObjFlag is set to true.
mapper - the Mapper to supply all results to.
processor - the DirContextProcessor to be used for applying pre/post processing on the DirContext instance.
Returns:
a List of type T containing objects for all entries found, as mapped by the ParametrizedContextMapper.

lookupContext

public DirContextOperations lookupContext(String dn)
Description copied from interface: SimpleLdapOperations
Look up the specified DN, and automatically cast it to a DirContextOperations instance.

Specified by:
lookupContext in interface SimpleLdapOperations
Parameters:
dn - The Distinguished Name of the entry to look up.
Returns:
A DirContextOperations instance constructed from the found entry.

modifyAttributes

public void modifyAttributes(DirContextOperations ctx)
Description copied from interface: SimpleLdapOperations
Modify the Attributes of the entry corresponding to the supplied DirContextOperations instance. The instance should have been received from the SimpleLdapOperations.lookupContext(String) operation, and then modified to match the current state of the matching domain object, e.g.:
 public void update(Person person) {
        DirContextOperations ctx = simpleLdapOperations.lookup(person.getDn());
 
        ctx.setAttributeValue("description", person.getDescription());
        ctx.setAttributeValue("telephoneNumber", person.getPhone());
        // More modifications here
 
        simpleLdapOperations.modifyAttributes(ctx);
 }
 

Specified by:
modifyAttributes in interface SimpleLdapOperations
Parameters:
ctx - the entry to update in the LDAP tree.

bind

public void bind(String dn,
                 Object obj,
                 Attributes attributes)
Description copied from interface: SimpleLdapOperations
Create an entry in the LDAP tree. The attributes used to create the entry are either retrieved from the obj parameter or the attributes parameter (or both). One of these parameters may be null but not both.

Specified by:
bind in interface SimpleLdapOperations
Parameters:
dn - The distinguished name to bind the object and attributes to.
obj - The object to bind, may be null. Typically a DirContext implementation.
attributes - The attributes to bind, may be null.

unbind

public void unbind(String dn)
Description copied from interface: SimpleLdapOperations
Remove an entry from the LDAP tree. The entry must not have any children.

Specified by:
unbind in interface SimpleLdapOperations
Parameters:
dn - The distinguished name to unbind.


Copyright © 2006-2009 Spring Framework. All Rights Reserved.