org.springframework.ldap.support.control
Class AbstractRequestControlDirContextProcessor
java.lang.Object
org.springframework.ldap.support.control.AbstractRequestControlDirContextProcessor
- All Implemented Interfaces:
- DirContextProcessor
- Direct Known Subclasses:
- PagedResultsRequestControl
public abstract class AbstractRequestControlDirContextProcessor
- extends java.lang.Object
- implements DirContextProcessor
Abstract superclass with responsibility to apply a single RequestControl on
an LdapContext, preserving any existing controls. Subclasses should implement
DirContextProcessor.postProcess(DirContext)
and template method
createRequestControl()
.
- Author:
- Mattias Arthursson, Ulrik Sandberg
Field Summary |
protected org.apache.commons.logging.Log |
log
|
Method Summary |
abstract javax.naming.ldap.Control |
createRequestControl()
Create an instance of the appropriate RequestControl. |
void |
preProcess(javax.naming.directory.DirContext ctx)
Get the existing RequestControls from the LdapContext, call
createRequestControl() to get a new instance, build a new array
of Controls and set it on the LdapContext. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
protected org.apache.commons.logging.Log log
AbstractRequestControlDirContextProcessor
public AbstractRequestControlDirContextProcessor()
preProcess
public void preProcess(javax.naming.directory.DirContext ctx)
throws javax.naming.NamingException
- Get the existing RequestControls from the LdapContext, call
createRequestControl()
to get a new instance, build a new array
of Controls and set it on the LdapContext.
The Control
feature is specific for LDAP v3 and thus applies only
to LdapContext
. However, the generic DirContextProcessor
mechanism used for calling preProcess
and
postProcess
uses DirContext, since it also works for LDAP
v2. This is the reason that DirContext has to be cast into LdapContext.
- Specified by:
preProcess
in interface DirContextProcessor
- Parameters:
ctx
- an LdapContext instance.
- Throws:
javax.naming.NamingException
java.lang.IllegalArgumentException
- if the supplied DirContext is not an LdapContext.
createRequestControl
public abstract javax.naming.ldap.Control createRequestControl()
- Create an instance of the appropriate RequestControl.
- Returns:
- the new instance.
Copyright � 2002-2006. All Rights Reserved.