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 byPoolingContextSourceto wrap aDirContext, delegating most methods to the underlying context. This class extendsDelegatingContextwhich 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 voidassertOpen()voidbind(java.lang.String name, java.lang.Object obj, javax.naming.directory.Attributes attrs)voidbind(javax.naming.Name name, java.lang.Object obj, javax.naming.directory.Attributes attrs)voidclose()javax.naming.directory.DirContextcreateSubcontext(java.lang.String name, javax.naming.directory.Attributes attrs)javax.naming.directory.DirContextcreateSubcontext(javax.naming.Name name, javax.naming.directory.Attributes attrs)booleanequals(java.lang.Object obj)javax.naming.directory.AttributesgetAttributes(java.lang.String name)javax.naming.directory.AttributesgetAttributes(java.lang.String name, java.lang.String[] attrIds)javax.naming.directory.AttributesgetAttributes(javax.naming.Name name)javax.naming.directory.AttributesgetAttributes(javax.naming.Name name, java.lang.String[] attrIds)javax.naming.ContextgetDelegateContext()javax.naming.directory.DirContextgetDelegateDirContext()javax.naming.directory.DirContextgetInnermostDelegateDirContext()Recursivley inspect delegates until a non-delegating dir context is found.javax.naming.directory.DirContextgetSchema(java.lang.String name)javax.naming.directory.DirContextgetSchema(javax.naming.Name name)javax.naming.directory.DirContextgetSchemaClassDefinition(java.lang.String name)javax.naming.directory.DirContextgetSchemaClassDefinition(javax.naming.Name name)javax.naming.directory.DirContextgetTargetContext()Get the targetDirContextof the proxy.inthashCode()voidmodifyAttributes(java.lang.String name, int modOp, javax.naming.directory.Attributes attrs)voidmodifyAttributes(java.lang.String name, javax.naming.directory.ModificationItem[] mods)voidmodifyAttributes(javax.naming.Name name, int modOp, javax.naming.directory.Attributes attrs)voidmodifyAttributes(javax.naming.Name name, javax.naming.directory.ModificationItem[] mods)voidrebind(java.lang.String name, java.lang.Object obj, javax.naming.directory.Attributes attrs)voidrebind(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.StringtoString()-
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:
getDelegateContextin 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:
assertOpenin classDelegatingContext- Throws:
javax.naming.NamingException- If the delegate is null,DelegatingContext.close()has been called.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classDelegatingContext- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
- Overrides:
hashCodein classDelegatingContext- See Also:
Object.hashCode()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classDelegatingContext- See Also:
Object.toString()
-
getTargetContext
public javax.naming.directory.DirContext getTargetContext()
Description copied from interface:DirContextProxyGet the targetDirContextof the proxy.- Specified by:
getTargetContextin 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:
bindin 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:
bindin 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:
createSubcontextin 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:
createSubcontextin 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:
getAttributesin 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:
getAttributesin 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:
getAttributesin 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:
getAttributesin 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:
getSchemain 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:
getSchemain 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:
getSchemaClassDefinitionin 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:
getSchemaClassDefinitionin 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:
modifyAttributesin 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:
modifyAttributesin 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:
modifyAttributesin 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:
modifyAttributesin 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:
rebindin 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:
rebindin 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:
searchin 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:
searchin 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:
searchin 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:
searchin 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:
searchin 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:
searchin 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:
searchin 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:
searchin 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:
closein interfacejavax.naming.Context- Overrides:
closein classDelegatingContext- Throws:
javax.naming.NamingException- See Also:
DelegatingContext.close()
-
-