org.springframework.ldap.core.simple
Interface SimpleLdapOperations

All Known Implementing Classes:
SimpleLdapTemplate

public interface SimpleLdapOperations

LDAP operations interface usable on Java 5 and above, exposing a set of common LDAP operations.

Author:
Mattias Arthursson

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.
 

Method Detail

getLdapOperations

LdapOperations getLdapOperations()
Get the wrapped LdapOperations instance.

Returns:
the wrapped LdapOperations instance.
Throws:
NamingException - if any error occurs.

search

<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.

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.
Throws:
NamingException - if any error occurs.

search

<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.

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.
Throws:
NamingException - if any error occurs.

lookup

<T> T lookup(String dn,
             ParameterizedContextMapper<T> mapper)
Perform a lookup of the specified DN and map the result using the mapper.

Parameters:
dn - the Distinguished Name to look up.
mapper - the mapper to use.
Returns:
the mapped object, as received by the ParametrizedContextMapper.
Throws:
NamingException - if any error occurs.

lookupContext

DirContextOperations lookupContext(String dn)
Look up the specified DN, and automatically cast it to a DirContextOperations instance.

Parameters:
dn - The Distinguished Name of the entry to look up.
Returns:
A DirContextOperations instance constructed from the found entry.
Throws:
NamingException - if any error occurs.

bind

void bind(String dn,
          Object obj,
          Attributes attributes)
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.

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.
Throws:
NamingException - if any error occurs.

unbind

void unbind(String dn)
Remove an entry from the LDAP tree. The entry must not have any children.

Parameters:
dn - The distinguished name to unbind.
Throws:
NamingException - if any error occurs.

modifyAttributes

void modifyAttributes(DirContextOperations ctx)
Modify the Attributes of the entry corresponding to the supplied DirContextOperations instance. The instance should have been received from the 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);
 }
 

Parameters:
ctx - the entry to update in the LDAP tree.
Throws:
NamingException - if any error occurs.


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