Spring LDAP

org.springframework.ldap.pool
Class DelegatingContext

java.lang.Object
  extended by org.springframework.ldap.pool.DelegatingContext
All Implemented Interfaces:
Context
Direct Known Subclasses:
DelegatingDirContext

public class DelegatingContext
extends Object
implements Context

Used by PoolingContextSource to wrap a Context, delegating most methods to the underlying context, retains a reference to the pool the context was checked out from and returns itself to the pool when close() is called.

Author:
Eric Dalquist

Field Summary
 
Fields inherited from interface javax.naming.Context
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES
 
Constructor Summary
DelegatingContext(KeyedObjectPool keyedObjectPool, Context delegateContext, DirContextType dirContextType)
          Create a new delegating context for the specified pool, context and context type.
 
Method Summary
 Object addToEnvironment(String propName, Object propVal)
           
protected  void assertOpen()
           
 void bind(Name name, Object obj)
           
 void bind(String name, Object obj)
           
 void close()
           
 Name composeName(Name name, Name prefix)
           
 String composeName(String name, String prefix)
           
 Context createSubcontext(Name name)
           
 Context createSubcontext(String name)
           
 void destroySubcontext(Name name)
           
 void destroySubcontext(String name)
           
 boolean equals(Object obj)
           
 Context getDelegateContext()
           
 Hashtable getEnvironment()
           
 Context getInnermostDelegateContext()
          Recursivley inspect delegates until a non-delegating context is found.
 String getNameInNamespace()
           
 NameParser getNameParser(Name name)
           
 NameParser getNameParser(String name)
           
 int hashCode()
           
 NamingEnumeration list(Name name)
           
 NamingEnumeration list(String name)
           
 NamingEnumeration listBindings(Name name)
           
 NamingEnumeration listBindings(String name)
           
 Object lookup(Name name)
           
 Object lookup(String name)
           
 Object lookupLink(Name name)
           
 Object lookupLink(String name)
           
 void rebind(Name name, Object obj)
           
 void rebind(String name, Object obj)
           
 Object removeFromEnvironment(String propName)
           
 void rename(Name oldName, Name newName)
           
 void rename(String oldName, String newName)
           
 String toString()
           
 void unbind(Name name)
           
 void unbind(String name)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DelegatingContext

public DelegatingContext(KeyedObjectPool keyedObjectPool,
                         Context delegateContext,
                         DirContextType dirContextType)
Create a new delegating context for the specified pool, context and context type.

Parameters:
keyedObjectPool - The pool the delegate context was checked out from.
delegateContext - The context to delegate operations to.
dirContextType - The type of context, used as a key for the pool.
Throws:
IllegalArgumentException - if any of the arguments are null
Method Detail

getDelegateContext

public Context getDelegateContext()
Returns:
The direct delegate for this context proxy

getInnermostDelegateContext

public Context getInnermostDelegateContext()
Recursivley inspect delegates until a non-delegating context is found.

Returns:
The innermost (real) Context that is being delegated to.

assertOpen

protected void assertOpen()
                   throws NamingException
Throws:
NamingException - If the delegate is null, close() has been called.

equals

public boolean equals(Object obj)
Overrides:
equals in class Object
See Also:
Object.equals(java.lang.Object)

hashCode

public int hashCode()
Overrides:
hashCode in class Object
See Also:
Object.hashCode()

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()

addToEnvironment

public Object addToEnvironment(String propName,
                               Object propVal)
                        throws NamingException
Specified by:
addToEnvironment in interface Context
Throws:
NamingException
See Also:
Context.addToEnvironment(java.lang.String, java.lang.Object)

bind

public void bind(Name name,
                 Object obj)
          throws NamingException
Specified by:
bind in interface Context
Throws:
NamingException
See Also:
Context.bind(javax.naming.Name, java.lang.Object)

bind

public void bind(String name,
                 Object obj)
          throws NamingException
Specified by:
bind in interface Context
Throws:
NamingException
See Also:
Context.bind(java.lang.String, java.lang.Object)

close

public void close()
           throws NamingException
Specified by:
close in interface Context
Throws:
NamingException
See Also:
Context.close()

composeName

public Name composeName(Name name,
                        Name prefix)
                 throws NamingException
Specified by:
composeName in interface Context
Throws:
NamingException
See Also:
Context.composeName(javax.naming.Name, javax.naming.Name)

composeName

public String composeName(String name,
                          String prefix)
                   throws NamingException
Specified by:
composeName in interface Context
Throws:
NamingException
See Also:
Context.composeName(java.lang.String, java.lang.String)

createSubcontext

public Context createSubcontext(Name name)
                         throws NamingException
Specified by:
createSubcontext in interface Context
Throws:
NamingException
See Also:
Context.createSubcontext(javax.naming.Name)

createSubcontext

public Context createSubcontext(String name)
                         throws NamingException
Specified by:
createSubcontext in interface Context
Throws:
NamingException
See Also:
Context.createSubcontext(java.lang.String)

destroySubcontext

public void destroySubcontext(Name name)
                       throws NamingException
Specified by:
destroySubcontext in interface Context
Throws:
NamingException
See Also:
Context.destroySubcontext(javax.naming.Name)

destroySubcontext

public void destroySubcontext(String name)
                       throws NamingException
Specified by:
destroySubcontext in interface Context
Throws:
NamingException
See Also:
Context.destroySubcontext(java.lang.String)

getEnvironment

public Hashtable getEnvironment()
                         throws NamingException
Specified by:
getEnvironment in interface Context
Throws:
NamingException
See Also:
Context.getEnvironment()

getNameInNamespace

public String getNameInNamespace()
                          throws NamingException
Specified by:
getNameInNamespace in interface Context
Throws:
NamingException
See Also:
Context.getNameInNamespace()

getNameParser

public NameParser getNameParser(Name name)
                         throws NamingException
Specified by:
getNameParser in interface Context
Throws:
NamingException
See Also:
Context.getNameParser(javax.naming.Name)

getNameParser

public NameParser getNameParser(String name)
                         throws NamingException
Specified by:
getNameParser in interface Context
Throws:
NamingException
See Also:
Context.getNameParser(java.lang.String)

list

public NamingEnumeration list(Name name)
                       throws NamingException
Specified by:
list in interface Context
Throws:
NamingException
See Also:
Context.list(javax.naming.Name)

list

public NamingEnumeration list(String name)
                       throws NamingException
Specified by:
list in interface Context
Throws:
NamingException
See Also:
Context.list(java.lang.String)

listBindings

public NamingEnumeration listBindings(Name name)
                               throws NamingException
Specified by:
listBindings in interface Context
Throws:
NamingException
See Also:
Context.listBindings(javax.naming.Name)

listBindings

public NamingEnumeration listBindings(String name)
                               throws NamingException
Specified by:
listBindings in interface Context
Throws:
NamingException
See Also:
Context.listBindings(java.lang.String)

lookup

public Object lookup(Name name)
              throws NamingException
Specified by:
lookup in interface Context
Throws:
NamingException
See Also:
Context.lookup(javax.naming.Name)

lookup

public Object lookup(String name)
              throws NamingException
Specified by:
lookup in interface Context
Throws:
NamingException
See Also:
Context.lookup(java.lang.String)

lookupLink

public Object lookupLink(Name name)
                  throws NamingException
Specified by:
lookupLink in interface Context
Throws:
NamingException
See Also:
Context.lookupLink(javax.naming.Name)

lookupLink

public Object lookupLink(String name)
                  throws NamingException
Specified by:
lookupLink in interface Context
Throws:
NamingException
See Also:
Context.lookupLink(java.lang.String)

rebind

public void rebind(Name name,
                   Object obj)
            throws NamingException
Specified by:
rebind in interface Context
Throws:
NamingException
See Also:
Context.rebind(javax.naming.Name, java.lang.Object)

rebind

public void rebind(String name,
                   Object obj)
            throws NamingException
Specified by:
rebind in interface Context
Throws:
NamingException
See Also:
Context.rebind(java.lang.String, java.lang.Object)

removeFromEnvironment

public Object removeFromEnvironment(String propName)
                             throws NamingException
Specified by:
removeFromEnvironment in interface Context
Throws:
NamingException
See Also:
Context.removeFromEnvironment(java.lang.String)

rename

public void rename(Name oldName,
                   Name newName)
            throws NamingException
Specified by:
rename in interface Context
Throws:
NamingException
See Also:
Context.rename(javax.naming.Name, javax.naming.Name)

rename

public void rename(String oldName,
                   String newName)
            throws NamingException
Specified by:
rename in interface Context
Throws:
NamingException
See Also:
Context.rename(java.lang.String, java.lang.String)

unbind

public void unbind(Name name)
            throws NamingException
Specified by:
unbind in interface Context
Throws:
NamingException
See Also:
Context.unbind(javax.naming.Name)

unbind

public void unbind(String name)
            throws NamingException
Specified by:
unbind in interface Context
Throws:
NamingException
See Also:
Context.unbind(java.lang.String)

Spring LDAP