public class SingleContextSource extends java.lang.Object implements ContextSource, org.springframework.beans.factory.DisposableBean
ContextSource
to be used as a decorator around a target ContextSource
to make sure the target is never actually closed. Useful when working with e.g. paged results,
as these require the same target to be used.Modifier and Type | Class and Description |
---|---|
static class |
SingleContextSource.NonClosingDirContextInvocationHandler
A proxy for DirContext forwarding all operation to the target DirContext,
but making sure that no
close operations will be performed. |
Constructor and Description |
---|
SingleContextSource(javax.naming.directory.DirContext ctx)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Destroy method that allows the target DirContext to be cleaned up when
the SingleContextSource is not going to be used any more.
|
javax.naming.directory.DirContext |
getContext(java.lang.String principal,
java.lang.String credentials)
Gets a
DirContext instance authenticated using the supplied
principal and credentials. |
javax.naming.directory.DirContext |
getReadOnlyContext()
Gets a read-only
DirContext . |
javax.naming.directory.DirContext |
getReadWriteContext()
Gets a read-write
DirContext instance. |
public SingleContextSource(javax.naming.directory.DirContext ctx)
ctx
- the target DirContext.public javax.naming.directory.DirContext getReadOnlyContext() throws NamingException
ContextSource
DirContext
. The returned
DirContext
must be possible to perform read-only operations
on.getReadOnlyContext
in interface ContextSource
NamingException
- if some error occurs creating an DirContext.public javax.naming.directory.DirContext getReadWriteContext() throws NamingException
ContextSource
DirContext
instance.getReadWriteContext
in interface ContextSource
DirContext
instance, never null
.NamingException
- if some error occurs creating an
DirContext
.public javax.naming.directory.DirContext getContext(java.lang.String principal, java.lang.String credentials) throws NamingException
ContextSource
DirContext
instance authenticated using the supplied
principal and credentials.getContext
in interface ContextSource
principal
- The principal (typically a distinguished name of a user
in the LDAP tree) to use for authentication.credentials
- The credentials to use for authentication.DirContext
instance, never
null
.NamingException
public void destroy()
destroy
in interface org.springframework.beans.factory.DisposableBean