Package org.springframework.ldap.pool
Class DelegatingDirContext
- java.lang.Object
-
- org.springframework.ldap.pool.DelegatingContext
-
- org.springframework.ldap.pool.DelegatingDirContext
-
- All Implemented Interfaces:
javax.naming.Context
,javax.naming.directory.DirContext
,DirContextProxy
- Direct Known Subclasses:
DelegatingLdapContext
public class DelegatingDirContext extends DelegatingContext implements javax.naming.directory.DirContext, DirContextProxy
Used byPoolingContextSource
to wrap aDirContext
, delegating most methods to the underlying context. This class extendsDelegatingContext
which handles returning the context to the pool on a call toclose()
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description DelegatingDirContext(org.apache.commons.pool.KeyedObjectPool keyedObjectPool, javax.naming.directory.DirContext delegateDirContext, DirContextType dirContextType)
Create a new delegating dir context for the specified pool, context and context type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
assertOpen()
void
bind(java.lang.String name, java.lang.Object obj, javax.naming.directory.Attributes attrs)
void
bind(javax.naming.Name name, java.lang.Object obj, javax.naming.directory.Attributes attrs)
void
close()
javax.naming.directory.DirContext
createSubcontext(java.lang.String name, javax.naming.directory.Attributes attrs)
javax.naming.directory.DirContext
createSubcontext(javax.naming.Name name, javax.naming.directory.Attributes attrs)
boolean
equals(java.lang.Object obj)
javax.naming.directory.Attributes
getAttributes(java.lang.String name)
javax.naming.directory.Attributes
getAttributes(java.lang.String name, java.lang.String[] attrIds)
javax.naming.directory.Attributes
getAttributes(javax.naming.Name name)
javax.naming.directory.Attributes
getAttributes(javax.naming.Name name, java.lang.String[] attrIds)
javax.naming.Context
getDelegateContext()
javax.naming.directory.DirContext
getDelegateDirContext()
javax.naming.directory.DirContext
getInnermostDelegateDirContext()
Recursivley inspect delegates until a non-delegating dir context is found.javax.naming.directory.DirContext
getSchema(java.lang.String name)
javax.naming.directory.DirContext
getSchema(javax.naming.Name name)
javax.naming.directory.DirContext
getSchemaClassDefinition(java.lang.String name)
javax.naming.directory.DirContext
getSchemaClassDefinition(javax.naming.Name name)
javax.naming.directory.DirContext
getTargetContext()
Get the targetDirContext
of the proxy.int
hashCode()
void
modifyAttributes(java.lang.String name, int modOp, javax.naming.directory.Attributes attrs)
void
modifyAttributes(java.lang.String name, javax.naming.directory.ModificationItem[] mods)
void
modifyAttributes(javax.naming.Name name, int modOp, javax.naming.directory.Attributes attrs)
void
modifyAttributes(javax.naming.Name name, javax.naming.directory.ModificationItem[] mods)
void
rebind(java.lang.String name, java.lang.Object obj, javax.naming.directory.Attributes attrs)
void
rebind(javax.naming.Name name, java.lang.Object obj, javax.naming.directory.Attributes attrs)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(java.lang.String name, java.lang.String filterExpr, java.lang.Object[] filterArgs, javax.naming.directory.SearchControls cons)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(java.lang.String name, java.lang.String filter, javax.naming.directory.SearchControls cons)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(java.lang.String name, javax.naming.directory.Attributes matchingAttributes)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(java.lang.String name, javax.naming.directory.Attributes matchingAttributes, java.lang.String[] attributesToReturn)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(javax.naming.Name name, java.lang.String filterExpr, java.lang.Object[] filterArgs, javax.naming.directory.SearchControls cons)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(javax.naming.Name name, java.lang.String filter, javax.naming.directory.SearchControls cons)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(javax.naming.Name name, javax.naming.directory.Attributes matchingAttributes)
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
search(javax.naming.Name name, javax.naming.directory.Attributes matchingAttributes, java.lang.String[] attributesToReturn)
java.lang.String
toString()
-
Methods inherited from class org.springframework.ldap.pool.DelegatingContext
addToEnvironment, bind, bind, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getInnermostDelegateContext, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javax.naming.Context
addToEnvironment, bind, bind, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
-
-
-
-
Constructor Detail
-
DelegatingDirContext
public DelegatingDirContext(org.apache.commons.pool.KeyedObjectPool keyedObjectPool, javax.naming.directory.DirContext delegateDirContext, DirContextType dirContextType)
Create a new delegating dir context for the specified pool, context and context type.- Parameters:
keyedObjectPool
- The pool the delegate context was checked out from.delegateDirContext
- The dir context to delegate operations to.dirContextType
- The type of context, used as a key for the pool.- Throws:
java.lang.IllegalArgumentException
- if any of the arguments are null
-
-
Method Detail
-
getDelegateDirContext
public javax.naming.directory.DirContext getDelegateDirContext()
- Returns:
- The direct delegate for this dir context proxy
-
getDelegateContext
public javax.naming.Context getDelegateContext()
- Overrides:
getDelegateContext
in classDelegatingContext
- Returns:
- The direct delegate for this context proxy
-
getInnermostDelegateDirContext
public javax.naming.directory.DirContext getInnermostDelegateDirContext()
Recursivley inspect delegates until a non-delegating dir context is found.- Returns:
- The innermost (real) DirContext that is being delegated to.
-
assertOpen
protected void assertOpen() throws javax.naming.NamingException
- Overrides:
assertOpen
in classDelegatingContext
- Throws:
javax.naming.NamingException
- If the delegate is null,DelegatingContext.close()
has been called.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classDelegatingContext
- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classDelegatingContext
- See Also:
Object.hashCode()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classDelegatingContext
- See Also:
Object.toString()
-
getTargetContext
public javax.naming.directory.DirContext getTargetContext()
Description copied from interface:DirContextProxy
Get the targetDirContext
of the proxy.- Specified by:
getTargetContext
in interfaceDirContextProxy
- Returns:
- the target
DirContext
.
-
bind
public void bind(javax.naming.Name name, java.lang.Object obj, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
bind
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.bind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes)
-
bind
public void bind(java.lang.String name, java.lang.Object obj, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
bind
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.bind(java.lang.String, java.lang.Object, javax.naming.directory.Attributes)
-
createSubcontext
public javax.naming.directory.DirContext createSubcontext(javax.naming.Name name, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
createSubcontext
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)
-
createSubcontext
public javax.naming.directory.DirContext createSubcontext(java.lang.String name, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
createSubcontext
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.createSubcontext(java.lang.String, javax.naming.directory.Attributes)
-
getAttributes
public javax.naming.directory.Attributes getAttributes(javax.naming.Name name, java.lang.String[] attrIds) throws javax.naming.NamingException
- Specified by:
getAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getAttributes(javax.naming.Name, java.lang.String[])
-
getAttributes
public javax.naming.directory.Attributes getAttributes(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
getAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getAttributes(javax.naming.Name)
-
getAttributes
public javax.naming.directory.Attributes getAttributes(java.lang.String name, java.lang.String[] attrIds) throws javax.naming.NamingException
- Specified by:
getAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getAttributes(java.lang.String, java.lang.String[])
-
getAttributes
public javax.naming.directory.Attributes getAttributes(java.lang.String name) throws javax.naming.NamingException
- Specified by:
getAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getAttributes(java.lang.String)
-
getSchema
public javax.naming.directory.DirContext getSchema(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
getSchema
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getSchema(javax.naming.Name)
-
getSchema
public javax.naming.directory.DirContext getSchema(java.lang.String name) throws javax.naming.NamingException
- Specified by:
getSchema
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getSchema(java.lang.String)
-
getSchemaClassDefinition
public javax.naming.directory.DirContext getSchemaClassDefinition(javax.naming.Name name) throws javax.naming.NamingException
- Specified by:
getSchemaClassDefinition
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getSchemaClassDefinition(javax.naming.Name)
-
getSchemaClassDefinition
public javax.naming.directory.DirContext getSchemaClassDefinition(java.lang.String name) throws javax.naming.NamingException
- Specified by:
getSchemaClassDefinition
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.getSchemaClassDefinition(java.lang.String)
-
modifyAttributes
public void modifyAttributes(javax.naming.Name name, int modOp, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.modifyAttributes(javax.naming.Name, int, javax.naming.directory.Attributes)
-
modifyAttributes
public void modifyAttributes(javax.naming.Name name, javax.naming.directory.ModificationItem[] mods) throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.modifyAttributes(javax.naming.Name, javax.naming.directory.ModificationItem[])
-
modifyAttributes
public void modifyAttributes(java.lang.String name, int modOp, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.modifyAttributes(java.lang.String, int, javax.naming.directory.Attributes)
-
modifyAttributes
public void modifyAttributes(java.lang.String name, javax.naming.directory.ModificationItem[] mods) throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.modifyAttributes(java.lang.String, javax.naming.directory.ModificationItem[])
-
rebind
public void rebind(javax.naming.Name name, java.lang.Object obj, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
rebind
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.rebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes)
-
rebind
public void rebind(java.lang.String name, java.lang.Object obj, javax.naming.directory.Attributes attrs) throws javax.naming.NamingException
- Specified by:
rebind
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.rebind(java.lang.String, java.lang.Object, javax.naming.directory.Attributes)
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name, javax.naming.directory.Attributes matchingAttributes, java.lang.String[] attributesToReturn) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[])
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name, javax.naming.directory.Attributes matchingAttributes) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(javax.naming.Name, javax.naming.directory.Attributes)
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name, java.lang.String filterExpr, java.lang.Object[] filterArgs, javax.naming.directory.SearchControls cons) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(javax.naming.Name, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls)
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name, java.lang.String filter, javax.naming.directory.SearchControls cons) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls)
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name, javax.naming.directory.Attributes matchingAttributes, java.lang.String[] attributesToReturn) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(java.lang.String, javax.naming.directory.Attributes, java.lang.String[])
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name, javax.naming.directory.Attributes matchingAttributes) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(java.lang.String, javax.naming.directory.Attributes)
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name, java.lang.String filterExpr, java.lang.Object[] filterArgs, javax.naming.directory.SearchControls cons) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(java.lang.String, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls)
-
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name, java.lang.String filter, javax.naming.directory.SearchControls cons) throws javax.naming.NamingException
- Specified by:
search
in interfacejavax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
- See Also:
DirContext.search(java.lang.String, java.lang.String, javax.naming.directory.SearchControls)
-
close
public void close() throws javax.naming.NamingException
- Specified by:
close
in interfacejavax.naming.Context
- Overrides:
close
in classDelegatingContext
- Throws:
javax.naming.NamingException
- See Also:
DelegatingContext.close()
-
-