|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.ldap.core.LdapTemplate
public class LdapTemplate
Executes core LDAP functionality and helps to avoid common errors, relieving the user of the burden of looking up contexts, looping through NamingEnumerations and closing contexts.
Note for Active Directory (AD) users: AD servers are apparently
unable to handle referrals automatically, which causes a
PartialResultException
to be thrown whenever a referral is
encountered in a search. To avoid this, set the
ignorePartialResultException
property to true
.
There is currently no way of manually handling these referrals in the form of
ReferralException
, i.e. either you get the exception (and
your results are lost) or all referrals are ignored (if the server is unable
to handle them properly. Neither is there any simple way to get notified that
a PartialResultException
has been ignored (other than in the
log).
ContextSource
Nested Class Summary | |
---|---|
class |
LdapTemplate.MappingCollectingNameClassPairCallbackHandler
A NameClassPairCallbackHandler that passes the NameClassPairs
found to a NameClassPairMapper and collects the results in a list. |
Constructor Summary | |
---|---|
LdapTemplate()
Constructor for bean usage. |
|
LdapTemplate(ContextSource contextSource)
Constructor to setup instance directly. |
Method Summary | |
---|---|
void |
afterPropertiesSet()
|
void |
bind(javax.naming.Name dn,
java.lang.Object obj,
javax.naming.directory.Attributes attributes)
Create an entry in the LDAP tree. |
void |
bind(java.lang.String dn,
java.lang.Object obj,
javax.naming.directory.Attributes attributes)
Create an entry in the LDAP tree. |
protected void |
deleteRecursively(javax.naming.directory.DirContext ctx,
DistinguishedName name)
Delete all subcontexts including the current one recursively. |
java.lang.Object |
executeReadOnly(ContextExecutor ce)
Perform an operation (or series of operations) on a read-only context. |
java.lang.Object |
executeReadWrite(ContextExecutor ce)
Perform an operation (or series of operations) on a read-write context. |
ContextSource |
getContextSource()
Get the ContextSource. |
java.util.List |
list(javax.naming.Name base)
Perform a non-recursive listing of the children of the given base . |
void |
list(javax.naming.Name base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
list(javax.naming.Name base,
NameClassPairMapper mapper)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
list(java.lang.String base)
Perform a non-recursive listing of the children of the given base . |
void |
list(java.lang.String base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
list(java.lang.String base,
NameClassPairMapper mapper)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
listBindings(javax.naming.Name base)
Perform a non-recursive listing of children of the given base . |
java.util.List |
listBindings(javax.naming.Name base,
ContextMapper mapper)
Perform a non-recursive listing of the children of the given base . |
void |
listBindings(javax.naming.Name base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
listBindings(javax.naming.Name base,
NameClassPairMapper mapper)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
listBindings(java.lang.String base)
Perform a non-recursive listing of children of the given base . |
java.util.List |
listBindings(java.lang.String base,
ContextMapper mapper)
Perform a non-recursive listing of the children of the given base . |
void |
listBindings(java.lang.String base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base . |
java.util.List |
listBindings(java.lang.String base,
NameClassPairMapper mapper)
Perform a non-recursive listing of the children of the given base . |
java.lang.Object |
lookup(javax.naming.Name dn)
Lookup the supplied DN and return the found object. |
java.lang.Object |
lookup(javax.naming.Name dn,
AttributesMapper mapper)
Convenience method to get the attributes of a specified DN and automatically pass them to an AttributesMapper . |
java.lang.Object |
lookup(javax.naming.Name dn,
ContextMapper mapper)
Convenience method to lookup a specified DN and automatically pass the found object to a ContextMapper . |
java.lang.Object |
lookup(javax.naming.Name dn,
java.lang.String[] attributes,
AttributesMapper mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to an AttributesMapper . |
java.lang.Object |
lookup(javax.naming.Name dn,
java.lang.String[] attributes,
ContextMapper mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to a ContextMapper . |
java.lang.Object |
lookup(java.lang.String dn)
Lookup the supplied DN and return the found object. |
java.lang.Object |
lookup(java.lang.String dn,
AttributesMapper mapper)
Convenience method to get the attributes of a specified DN and automatically pass them to an AttributesMapper . |
java.lang.Object |
lookup(java.lang.String dn,
ContextMapper mapper)
Convenience method to lookup a specified DN and automatically pass the found object to a ContextMapper . |
java.lang.Object |
lookup(java.lang.String dn,
java.lang.String[] attributes,
AttributesMapper mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to an AttributesMapper . |
java.lang.Object |
lookup(java.lang.String dn,
java.lang.String[] attributes,
ContextMapper mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to a ContextMapper . |
DirContextOperations |
lookupContext(javax.naming.Name dn)
Convenience method to lookup the supplied DN and automatically cast it to DirContextOperations . |
DirContextOperations |
lookupContext(java.lang.String dn)
Convenience method to lookup the supplied DN and automatically cast it to DirContextOperations . |
void |
modifyAttributes(DirContextOperations ctx)
Modify the attributes of the entry referenced by the supplied DirContextOperations instance. |
void |
modifyAttributes(javax.naming.Name dn,
javax.naming.directory.ModificationItem[] mods)
Modify an entry in the LDAP tree using the supplied ModificationItems . |
void |
modifyAttributes(java.lang.String dn,
javax.naming.directory.ModificationItem[] mods)
Modify an entry in the LDAP tree using the supplied ModificationItems . |
void |
rebind(javax.naming.Name dn,
java.lang.Object obj,
javax.naming.directory.Attributes attributes)
Remove an entry and replace it with a new one. |
void |
rebind(java.lang.String dn,
java.lang.Object obj,
javax.naming.directory.Attributes attributes)
Remove an entry and replace it with a new one. |
void |
rename(javax.naming.Name oldDn,
javax.naming.Name newDn)
Move an entry in the LDAP tree to a new location. |
void |
rename(java.lang.String oldDn,
java.lang.String newDn)
Move an entry in the LDAP tree to a new location. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
int searchScope,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
void |
search(javax.naming.Name base,
java.lang.String filter,
int searchScope,
boolean returningObjFlag,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
int searchScope,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
int searchScope,
java.lang.String[] attrs,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
int searchScope,
java.lang.String[] attrs,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
void |
search(javax.naming.Name base,
java.lang.String filter,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
AttributesMapper mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(javax.naming.Name base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
ContextMapper mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
void |
search(javax.naming.Name base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
void |
search(javax.naming.Name base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
void |
search(SearchExecutor se,
NameClassPairCallbackHandler handler)
Perform a search operation, such as a search(), list() or listBindings(). |
void |
search(SearchExecutor se,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
Perform a search operation, such as a search(), list() or listBindings(). |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
int searchScope,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
void |
search(java.lang.String base,
java.lang.String filter,
int searchScope,
boolean returningObjFlag,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
int searchScope,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
int searchScope,
java.lang.String[] attrs,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
int searchScope,
java.lang.String[] attrs,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
void |
search(java.lang.String base,
java.lang.String filter,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
AttributesMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
AttributesMapper mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
ContextMapper mapper)
Search for all objects matching the supplied filter. |
java.util.List |
search(java.lang.String base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
ContextMapper mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
void |
search(java.lang.String base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
void |
search(java.lang.String base,
java.lang.String filter,
javax.naming.directory.SearchControls controls,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
void |
setContextSource(ContextSource contextSource)
Set the ContextSource. |
void |
setIgnorePartialResultException(boolean ignore)
Specify whether PartialResultException should be ignored
in searches. |
void |
unbind(javax.naming.Name dn)
Remove an entry from the LDAP tree. |
void |
unbind(javax.naming.Name dn,
boolean recursive)
Remove an entry from the LDAP tree, optionally removing all descendants in the process. |
void |
unbind(java.lang.String dn)
Remove an entry from the LDAP tree. |
void |
unbind(java.lang.String dn,
boolean recursive)
Remove an entry from the LDAP tree, optionally removing all descendants in the process. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LdapTemplate()
public LdapTemplate(ContextSource contextSource)
contextSource
- the ContextSource to use.Method Detail |
---|
public void setContextSource(ContextSource contextSource)
contextSource
- the ContextSource.public ContextSource getContextSource()
public void setIgnorePartialResultException(boolean ignore)
PartialResultException
should be ignored
in searches. AD servers typically have a problem with referrals. Normally
a referral should be followed automatically, but this does not seem to
work with AD servers. The problem manifests itself with a a
PartialResultException
being thrown when a referral is
encountered by the server. Setting this property to true
presents a workaround to this problem by causing
PartialResultException
to be ignored, so that the search
method returns normally. Default value of this parameter is
false
.
ignore
- true
if PartialResultException
should be ignored in searches, false
otherwise.
Default is false
.public void search(javax.naming.Name base, java.lang.String filter, int searchScope, boolean returningObjFlag, NameClassPairCallbackHandler handler)
LdapOperations
SearchResult
is supplied to the specified
NameClassPairCallbackHandler
. Use the specified values
for search scope and return objects flag.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.returningObjFlag
- Whether the bound object should be returned in search results.
Must be set to true
if a
ContextMapper
is used.handler
- The NameClassPairCallbackHandler
to supply the
SearchResults
to.public void search(java.lang.String base, java.lang.String filter, int searchScope, boolean returningObjFlag, NameClassPairCallbackHandler handler)
LdapOperations
SearchResult
is supplied to the specified
NameClassPairCallbackHandler
. Use the specified values
for search scope and return objects flag.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.returningObjFlag
- Whether the bound object should be returned in search results.
Must be set to true
if a
ContextMapper
is used.handler
- The NameClassPairCallbackHandler
to supply the
SearchResults
to.public void search(javax.naming.Name base, java.lang.String filter, javax.naming.directory.SearchControls controls, NameClassPairCallbackHandler handler)
LdapOperations
SearchResult
is supplied to the specified
NameClassPairCallbackHandler
. The
SearchScope
specified in the supplied
SearchControls
will be used in the search. Note that if
you are using a ContextMapper
, the returningObjFlag needs
to be set to true in the SearchControls
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.handler
- The NameClassPairCallbackHandler
to supply the
SearchResult
to.public void search(java.lang.String base, java.lang.String filter, javax.naming.directory.SearchControls controls, NameClassPairCallbackHandler handler)
LdapOperations
LdapOperations.search(Name, String, SearchControls, NameClassPairCallbackHandler)
for details.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.handler
- The NameClassPairCallbackHandler
to supply the
SearchResult
to.public void search(javax.naming.Name base, java.lang.String filter, javax.naming.directory.SearchControls controls, NameClassPairCallbackHandler handler, DirContextProcessor processor)
LdapOperations
SearchResult
is supplied to the specified
NameClassPairCallbackHandler
. The
SearchScope
specified in the supplied
SearchControls
will be used in the search. Note that if
you are using a ContextMapper
, the returningObjFlag needs
to be set to true in the SearchControls
. The given
DirContextProcessor
will be called before and after the
search.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.handler
- The NameClassPairCallbackHandler
to supply the
SearchResult
to.processor
- The DirContextProcessor
to use before and after
the search.public void search(java.lang.String base, java.lang.String filter, javax.naming.directory.SearchControls controls, NameClassPairCallbackHandler handler, DirContextProcessor processor)
LdapOperations
LdapOperations.search(Name, String, SearchControls, NameClassPairCallbackHandler, DirContextProcessor)
for details.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.handler
- The NameClassPairCallbackHandler
to supply the
SearchResults
to.processor
- The DirContextProcessor
to use before and after
the search.public void search(SearchExecutor se, NameClassPairCallbackHandler handler, DirContextProcessor processor)
The actual list is delegated to the SearchExecutor
and each
NameClassPair
(this might be a NameClassPair or a subclass
thereof) is passed to the CallbackHandler. Any encountered
NamingException will be translated using the NamingExceptionTranslator.
search
in interface LdapOperations
se
- the SearchExecutor to use for performing the actual list.handler
- the NameClassPairCallbackHandler to which each found entry
will be passed.processor
- DirContextProcessor for custom pre- and post-processing. May
be null
if no custom processing should take
place.
NamingException
- if any error occurs. Note that a NameNotFoundException will
be ignored. Instead this is interpreted that no entries were
found.public void search(SearchExecutor se, NameClassPairCallbackHandler handler)
The actual list is delegated to the SearchExecutor
and each
NameClassPair
(this might be a NameClassPair or a subclass
thereof) is passed to the CallbackHandler. Any encountered
NamingException will be translated using the NamingExceptionTranslator.
search
in interface LdapOperations
se
- the SearchExecutor to use for performing the actual list.handler
- the NameClassPairCallbackHandler to which each found entry
will be passed.
NamingException
- if any error occurs. Note that a NameNotFoundException will
be ignored. Instead this is interpreted that no entries were
found.LdapOperations.search(Name, String, AttributesMapper)
,
LdapOperations.search(Name, String, ContextMapper)
public void search(javax.naming.Name base, java.lang.String filter, NameClassPairCallbackHandler handler)
LdapOperations
SearchResult
is supplied to the specified
NameClassPairCallbackHandler
. The default Search scope (SearchControls.SUBTREE_SCOPE
)
will be used and the returnObjects flag will be set to false
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.handler
- The NameClassPairCallbackHandler
to supply the
SearchResults
to.public void search(java.lang.String base, java.lang.String filter, NameClassPairCallbackHandler handler)
LdapOperations
SearchResult
is supplied to the specified
NameClassPairCallbackHandler
. The default Search scope (SearchControls.SUBTREE_SCOPE
)
will be used and the returnObjects flag will be set to false
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.handler
- The NameClassPairCallbackHandler
to supply the
SearchResults
to.public java.util.List search(javax.naming.Name base, java.lang.String filter, int searchScope, java.lang.String[] attrs, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.attrs
- The attributes to return, null
means returning
all attributes.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, int searchScope, java.lang.String[] attrs, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.attrs
- The attributes to return, null
means returning
all attributes.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, int searchScope, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, int searchScope, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
. The default search scope will be used.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
. The default search scope will be used.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, int searchScope, java.lang.String[] attrs, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
. Only return the
supplied attributes.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.attrs
- The attributes to return, null
means all
attributes.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, int searchScope, java.lang.String[] attrs, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
. Only return the
supplied attributes.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.attrs
- The attributes to return, null
means all
attributes.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, int searchScope, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, int searchScope, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.searchScope
- The search scope to set in SearchControls
.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
. The default
search scope (SearchControls.SUBTREE_SCOPE
) will be
used.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
. The default
search scope (SearchControls.SUBTREE_SCOPE
) will be
used.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, javax.naming.directory.SearchControls controls, ContextMapper mapper)
LdapOperations
Object
returned in each SearchResult
is
supplied to the specified ContextMapper
. The default
search scope (SearchControls.SUBTREE_SCOPE
) will be
used.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, javax.naming.directory.SearchControls controls, ContextMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
ContextMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search. If the
returnObjFlag is not set in the SearchControls
,
this method will set it automatically, as this is required for
the ContextMapper
to work.mapper
- The ContextMapper
to use for translating each
entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, javax.naming.directory.SearchControls controls, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, javax.naming.directory.SearchControls controls, AttributesMapper mapper)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.mapper
- The AttributesMapper
to use for translating
each entry.
List
containing all entries received from the
ContextMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, javax.naming.directory.SearchControls controls, AttributesMapper mapper, DirContextProcessor processor)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
. The SearchScope
specified in the supplied SearchControls
will be used in
the search. The given DirContextProcessor
will be called
before and after the search.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.mapper
- The AttributesMapper
to use for translating
each entry.processor
- The DirContextProcessor
to use before and after
the search.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, javax.naming.directory.SearchControls controls, AttributesMapper mapper, DirContextProcessor processor)
LdapOperations
SearchResult
is supplied to the specified
AttributesMapper
. The SearchScope
specified in the supplied SearchControls
will be used in
the search. The given DirContextProcessor
will be called
before and after the search.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search.mapper
- The AttributesMapper
to use for translating
each entry.processor
- The DirContextProcessor
to use before and after
the search.
List
containing all entries received from the
AttributesMapper
.public java.util.List search(java.lang.String base, java.lang.String filter, javax.naming.directory.SearchControls controls, ContextMapper mapper, DirContextProcessor processor)
LdapOperations
SearchResult
is supplied to the specified
ContextMapper
. The SearchScope
specified
in the supplied SearchControls
will be used in the search.
The given DirContextProcessor
will be called before and
after the search.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search. If the
returnObjFlag is not set in the SearchControls
,
this method will set it automatically, as this is required for
the ContextMapper
to work.mapper
- The ContextMapper
to use for translating each
entry.processor
- The DirContextProcessor
to use before and after
the search.
List
containing all entries received from the
ContextMapper
.public java.util.List search(javax.naming.Name base, java.lang.String filter, javax.naming.directory.SearchControls controls, ContextMapper mapper, DirContextProcessor processor)
LdapOperations
SearchResult
is supplied to the specified
ContextMapper
. The SearchScope
specified
in the supplied SearchControls
will be used in the search.
The given DirContextProcessor
will be called before and
after the search.
search
in interface LdapOperations
base
- The base DN where the search should begin.filter
- The filter to use in the search.controls
- The SearchControls
to use in the search. If the
returnObjFlag is not set in the SearchControls
,
this method will set it automatically, as this is required for
the ContextMapper
to work.mapper
- The ContextMapper
to use for translating each
entry.processor
- The DirContextProcessor
to use before and after
the search.
List
containing all entries received from the
ContextMapper
.public void list(java.lang.String base, NameClassPairCallbackHandler handler)
LdapOperations
base
. Each resulting NameClassPair
is
supplied to the specified NameClassPairCallbackHandler
.
list
in interface LdapOperations
base
- The base DN where the list should be performed.handler
- The NameClassPairCallbackHandler
to supply each
NameClassPair
to.public void list(javax.naming.Name base, NameClassPairCallbackHandler handler)
LdapOperations
base
. Each resulting NameClassPair
is
supplied to the specified NameClassPairCallbackHandler
.
list
in interface LdapOperations
base
- The base DN where the list should be performed.handler
- The NameClassPairCallbackHandler
to supply each
NameClassPair
to.public java.util.List list(java.lang.String base, NameClassPairMapper mapper)
LdapOperations
base
. Pass all the found NameClassPair
objects to the supplied NameClassPairMapper
and return all
the returned values as a List
.
list
in interface LdapOperations
base
- The base DN where the list should be performed.mapper
- The NameClassPairMapper
to supply each
NameClassPair
to.
List
containing the Objects returned from the
Mapper.public java.util.List list(javax.naming.Name base, NameClassPairMapper mapper)
LdapOperations
base
. Pass all the found NameClassPair
objects to the supplied NameClassPairMapper
and return all
the returned values as a List
.
list
in interface LdapOperations
base
- The base DN where the list should be performed.mapper
- The NameClassPairMapper
to supply each
NameClassPair
to.
List
containing the Objects returned from the
Mapper.public java.util.List list(javax.naming.Name base)
LdapOperations
base
.
list
in interface LdapOperations
base
- The base DN where the list should be performed.
base
.public java.util.List list(java.lang.String base)
LdapOperations
base
.
list
in interface LdapOperations
base
- The base DN where the list should be performed.
base
.public void listBindings(java.lang.String base, NameClassPairCallbackHandler handler)
LdapOperations
base
. Each resulting Binding
is supplied
to the specified NameClassPairCallbackHandler
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.handler
- The NameClassPairCallbackHandler
to supply each
Binding
to.public void listBindings(javax.naming.Name base, NameClassPairCallbackHandler handler)
LdapOperations
base
. Each resulting Binding
is supplied
to the specified NameClassPairCallbackHandler
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.handler
- The NameClassPairCallbackHandler
to supply each
Binding
to.public java.util.List listBindings(java.lang.String base, NameClassPairMapper mapper)
LdapOperations
base
. Pass all the found Binding
objects
to the supplied NameClassPairMapper
and return all the
returned values as a List
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.mapper
- The NameClassPairMapper
to supply each
Binding
to.
List
containing the Objects returned from the
Mapper.public java.util.List listBindings(javax.naming.Name base, NameClassPairMapper mapper)
LdapOperations
base
. Pass all the found Binding
objects
to the supplied NameClassPairMapper
and return all the
returned values as a List
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.mapper
- The NameClassPairMapper
to supply each
Binding
to.
List
containing the Objects returned from the
Mapper.public java.util.List listBindings(java.lang.String base)
LdapOperations
base
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.
List
containing the names of all the contexts
bound to base
.public java.util.List listBindings(javax.naming.Name base)
LdapOperations
base
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.
List
containing the names of all the contexts
bound to base
.public java.util.List listBindings(java.lang.String base, ContextMapper mapper)
LdapOperations
base
. The Object returned in each Binding
is
supplied to the specified ContextMapper
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.mapper
- The ContextMapper
to use for mapping the found
object.
List
containing all entries received from the
ContextMapper
.public java.util.List listBindings(javax.naming.Name base, ContextMapper mapper)
LdapOperations
base
. The Object returned in each Binding
is
supplied to the specified ContextMapper
.
listBindings
in interface LdapOperations
base
- The base DN where the list should be performed.mapper
- The ContextMapper
to use for mapping the found
object.
List
containing all entries received from the
ContextMapper
.public java.lang.Object executeReadOnly(ContextExecutor ce)
LdapOperations
DirContext
,
translating any Exceptions and closing the context afterwards. This
method is not intended for searches; use
LdapOperations.search(SearchExecutor, NameClassPairCallbackHandler)
or any of
the overloaded search methods for this.
executeReadOnly
in interface LdapOperations
ce
- The ContextExecutor
to which the actual
operation on the DirContext
will be delegated.
LdapOperations.search(SearchExecutor, NameClassPairCallbackHandler)
,
LdapOperations.search(Name, String, AttributesMapper)
,
LdapOperations.search(Name, String, ContextMapper)
public java.lang.Object executeReadWrite(ContextExecutor ce)
LdapOperations
DirContext
,
translating any exceptions and closing the context afterwards. This
method is intended only for very particular cases, where there is no
suitable method in this interface to use.
executeReadWrite
in interface LdapOperations
ce
- The ContextExecutor
to which the actual
operation on the DirContext
will be delegated.
LdapOperations.bind(Name, Object, Attributes)
,
LdapOperations.unbind(Name)
,
LdapOperations.rebind(Name, Object, Attributes)
,
LdapOperations.rename(Name, Name)
,
#modifyAttributes(Name, ModificationItem[]))
public java.lang.Object lookup(javax.naming.Name dn)
LdapOperations
DirContextAdapter
, unless the DirObjectFactory
has been modified in the ContextSource
.
lookup
in interface LdapOperations
dn
- The distinguished name of the object to find.
DirContextAdapter
instance.LdapOperations.lookupContext(Name)
,
AbstractContextSource.setDirObjectFactory(Class)
public java.lang.Object lookup(java.lang.String dn)
LdapOperations
DirContextAdapter
, unless the DirObjectFactory
has been modified in the ContextSource
.
lookup
in interface LdapOperations
dn
- The distinguished name of the object to find.
DirContextAdapter
instance.LdapOperations.lookupContext(String)
,
AbstractContextSource.setDirObjectFactory(Class)
public java.lang.Object lookup(javax.naming.Name dn, AttributesMapper mapper)
LdapOperations
AttributesMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.mapper
- The AttributesMapper
to use for mapping the
found object.
public java.lang.Object lookup(java.lang.String dn, AttributesMapper mapper)
LdapOperations
AttributesMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.mapper
- The AttributesMapper
to use for mapping the
found object.
public java.lang.Object lookup(javax.naming.Name dn, ContextMapper mapper)
LdapOperations
ContextMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.mapper
- The ContextMapper
to use for mapping the found
object.
public java.lang.Object lookup(java.lang.String dn, ContextMapper mapper)
LdapOperations
ContextMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.mapper
- The ContextMapper
to use for mapping the found
object.
public java.lang.Object lookup(javax.naming.Name dn, java.lang.String[] attributes, AttributesMapper mapper)
LdapOperations
AttributesMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.attributes
- The names of the attributes to pass to the mapper.mapper
- The AttributesMapper
to use for mapping the
found object.
public java.lang.Object lookup(java.lang.String dn, java.lang.String[] attributes, AttributesMapper mapper)
LdapOperations
AttributesMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.attributes
- The names of the attributes to pass to the mapper.mapper
- The AttributesMapper
to use for mapping the
found object.
public java.lang.Object lookup(javax.naming.Name dn, java.lang.String[] attributes, ContextMapper mapper)
LdapOperations
ContextMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.attributes
- The names of the attributes to pass to the mapper.mapper
- The ContextMapper
to use for mapping the found
object.
public java.lang.Object lookup(java.lang.String dn, java.lang.String[] attributes, ContextMapper mapper)
LdapOperations
ContextMapper
.
lookup
in interface LdapOperations
dn
- The distinguished name to find.attributes
- The names of the attributes to pass to the mapper.mapper
- The ContextMapper
to use for mapping the found
object.
public void modifyAttributes(javax.naming.Name dn, javax.naming.directory.ModificationItem[] mods)
LdapOperations
ModificationItems
.
modifyAttributes
in interface LdapOperations
dn
- The distinguished name of the node to modify.mods
- The modifications to perform.LdapOperations.modifyAttributes(DirContextOperations)
public void modifyAttributes(java.lang.String dn, javax.naming.directory.ModificationItem[] mods)
LdapOperations
ModificationItems
.
modifyAttributes
in interface LdapOperations
dn
- The distinguished name of the node to modify.mods
- The modifications to perform.LdapOperations.modifyAttributes(DirContextOperations)
public void bind(javax.naming.Name dn, java.lang.Object obj, javax.naming.directory.Attributes attributes)
LdapOperations
obj
parameter or the
attributes
parameter (or both). One of these parameters
may be null
but not both.
bind
in interface LdapOperations
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
.DirContextAdapter
public void bind(java.lang.String dn, java.lang.Object obj, javax.naming.directory.Attributes attributes)
LdapOperations
obj
parameter or the
attributes
parameter (or both). One of these parameters
may be null
but not both.
bind
in interface LdapOperations
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
.DirContextAdapter
public void unbind(javax.naming.Name dn)
LdapOperations
LdapOperations.unbind(Name, boolean)
in stead.
unbind
in interface LdapOperations
dn
- The distinguished name of the entry to remove.public void unbind(java.lang.String dn)
LdapOperations
LdapOperations.unbind(Name, boolean)
in stead.
unbind
in interface LdapOperations
dn
- The distinguished name to unbind.public void unbind(javax.naming.Name dn, boolean recursive)
LdapOperations
unbind
in interface LdapOperations
dn
- The distinguished name to unbind.recursive
- Whether to unbind all subcontexts as well. If this parameter
is false
and the entry has children, the
operation will fail.public void unbind(java.lang.String dn, boolean recursive)
LdapOperations
unbind
in interface LdapOperations
dn
- The distinguished name to unbind.recursive
- Whether to unbind all subcontexts as well. If this parameter
is false
and the entry has children, the
operation will fail.protected void deleteRecursively(javax.naming.directory.DirContext ctx, DistinguishedName name)
ctx
- The context to use for deleting.name
- The starting point to delete recursively.
NamingException
- if any error occurspublic void rebind(javax.naming.Name dn, java.lang.Object obj, javax.naming.directory.Attributes attributes)
LdapOperations
obj
parameter or the attributes
parameter (or both). One of
these parameters may be null
but not both. This method
assumes that the specified context already exists - if not it will fail.
rebind
in interface LdapOperations
dn
- The distinguished name to rebind.obj
- The object to bind to the DN, may be null
.
Typically a DirContext
implementation.attributes
- The attributes to bind, may be null
.DirContextAdapter
public void rebind(java.lang.String dn, java.lang.Object obj, javax.naming.directory.Attributes attributes)
LdapOperations
obj
parameter or the attributes
parameter (or both). One of
these parameters may be null
but not both. This method
assumes that the specified context already exists - if not it will fail.
rebind
in interface LdapOperations
dn
- The distinguished name to rebind.obj
- The object to bind to the DN, may be null
.
Typically a DirContext
implementation.attributes
- The attributes to bind, may be null
.DirContextAdapter
public void rename(javax.naming.Name oldDn, javax.naming.Name newDn)
LdapOperations
rename
in interface LdapOperations
oldDn
- The distinguished name of the entry to move; may not be
null
or empty.newDn
- The distinguished name where the entry should be moved; may
not be null
or empty.public void rename(java.lang.String oldDn, java.lang.String newDn)
LdapOperations
rename
in interface LdapOperations
oldDn
- The distinguished name of the entry to move; may not be
null
or empty.newDn
- The distinguished name where the entry should be moved; may
not be null
or empty.public void afterPropertiesSet() throws java.lang.Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.Exception
public DirContextOperations lookupContext(javax.naming.Name dn)
LdapOperations
DirContextOperations
.
lookupContext
in interface LdapOperations
dn
- The distinguished name of the object to find.
DirContextOperations
.LdapOperations.lookup(Name)
,
LdapOperations.modifyAttributes(DirContextOperations)
public DirContextOperations lookupContext(java.lang.String dn)
LdapOperations
DirContextOperations
.
lookupContext
in interface LdapOperations
dn
- The distinguished name of the object to find.
DirContextOperations
.LdapOperations.lookup(String)
,
LdapOperations.modifyAttributes(DirContextOperations)
public void modifyAttributes(DirContextOperations ctx)
LdapOperations
DirContextOperations
instance. The DN to update will be the DN of
the DirContextOperations
instance, and the
ModificationItem
array is retrieved from the
DirContextOperations
instance using a call to
AttributeModificationsAware.getModificationItems()
. NB:
The supplied instance needs to have been properly initialized; this means
that if it hasn't been received from a lookup
operation,
its DN needs to be initialized and it must have been put in update mode (DirContextAdapter.setUpdateMode(boolean)
).
Typical use of this method would be as follows:
public void update(Person person) { DirContextOperations ctx = ldapOperations.lookupContext(person.getDn()); ctx.setAttributeValue("description", person.getDescription()); ctx.setAttributeValue("telephoneNumber", person.getPhone()); // More modifications here ldapOperations.modifyAttributes(ctx); }
modifyAttributes
in interface LdapOperations
ctx
- the DirContextOperations instance to use in the update.LdapOperations.lookupContext(Name)
,
DirContextAdapter
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |