InitialLdapContext.java [plain text]
package javax.naming.ldap;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.NoInitialContextException;
import javax.naming.NotContextException;
import javax.naming.directory.InitialDirContext;
public class InitialLdapContext
extends InitialDirContext
implements LdapContext
{
public InitialLdapContext ()
throws NamingException
{
this (null, null);
}
public InitialLdapContext (Hashtable environment, Control[] connControls)
throws NamingException
{
super (false);
if (connControls != null)
{
if (environment == null)
environment = new Hashtable ();
else
environment = (Hashtable) environment.clone ();
environment.put ("java.naming.ldap.control.connect",
connControls);
}
init (environment);
}
private LdapContext getDefaultInitLdapCtx ()
throws NamingException
{
Context c = getDefaultInitCtx ();
if (c == null)
throw new NoInitialContextException ();
else if (! (c instanceof LdapContext))
throw new NotContextException ();
return (LdapContext) c;
}
public ExtendedResponse extendedOperation (ExtendedRequest request)
throws NamingException
{
return getDefaultInitLdapCtx ().extendedOperation (request);
}
public Control[] getConnectControls ()
throws NamingException
{
return getDefaultInitLdapCtx ().getConnectControls ();
}
public Control[] getRequestControls ()
throws NamingException
{
return getDefaultInitLdapCtx ().getRequestControls ();
}
public Control[] getResponseControls ()
throws NamingException
{
return getDefaultInitLdapCtx ().getResponseControls ();
}
public LdapContext newInstance (Control[] reqControls)
throws NamingException
{
return getDefaultInitLdapCtx ().newInstance (reqControls);
}
public void reconnect (Control[] connControls)
throws NamingException
{
getDefaultInitLdapCtx ().reconnect (connControls);
}
public void setRequestControls (Control[] reqControls)
throws NamingException
{
getDefaultInitLdapCtx ().setRequestControls (reqControls);
}
}