|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
package javax.naming.directory; |
|
|
|
import java.util.Hashtable; |
|
import javax.naming.spi.NamingManager; |
|
import javax.naming.*; |
|
|
|
/** |
|
* This class is the starting context for performing |
|
* directory operations. The documentation in the class description |
|
* of InitialContext (including those for synchronization) apply here. |
|
* |
|
* |
|
* @author Rosanna Lee |
|
* @author Scott Seligman |
|
* |
|
* @see javax.naming.InitialContext |
|
* @since 1.3 |
|
*/ |
|
|
|
public class InitialDirContext extends InitialContext implements DirContext { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
protected InitialDirContext(boolean lazy) throws NamingException { |
|
super(lazy); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public InitialDirContext() throws NamingException { |
|
super(); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public InitialDirContext(Hashtable<?,?> environment) |
|
throws NamingException |
|
{ |
|
super(environment); |
|
} |
|
|
|
private DirContext getURLOrDefaultInitDirCtx(String name) |
|
throws NamingException { |
|
Context answer = getURLOrDefaultInitCtx(name); |
|
if (!(answer instanceof DirContext)) { |
|
if (answer == null) { |
|
throw new NoInitialContextException(); |
|
} else { |
|
throw new NotContextException( |
|
"Not an instance of DirContext"); |
|
} |
|
} |
|
return (DirContext)answer; |
|
} |
|
|
|
private DirContext getURLOrDefaultInitDirCtx(Name name) |
|
throws NamingException { |
|
Context answer = getURLOrDefaultInitCtx(name); |
|
if (!(answer instanceof DirContext)) { |
|
if (answer == null) { |
|
throw new NoInitialContextException(); |
|
} else { |
|
throw new NotContextException( |
|
"Not an instance of DirContext"); |
|
} |
|
} |
|
return (DirContext)answer; |
|
} |
|
|
|
// DirContext methods |
|
// Most Javadoc is deferred to the DirContext interface. |
|
|
|
public Attributes getAttributes(String name) |
|
throws NamingException { |
|
return getAttributes(name, null); |
|
} |
|
|
|
public Attributes getAttributes(String name, String[] attrIds) |
|
throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).getAttributes(name, attrIds); |
|
} |
|
|
|
public Attributes getAttributes(Name name) |
|
throws NamingException { |
|
return getAttributes(name, null); |
|
} |
|
|
|
public Attributes getAttributes(Name name, String[] attrIds) |
|
throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).getAttributes(name, attrIds); |
|
} |
|
|
|
public void modifyAttributes(String name, int mod_op, Attributes attrs) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).modifyAttributes(name, mod_op, attrs); |
|
} |
|
|
|
public void modifyAttributes(Name name, int mod_op, Attributes attrs) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).modifyAttributes(name, mod_op, attrs); |
|
} |
|
|
|
public void modifyAttributes(String name, ModificationItem[] mods) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).modifyAttributes(name, mods); |
|
} |
|
|
|
public void modifyAttributes(Name name, ModificationItem[] mods) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).modifyAttributes(name, mods); |
|
} |
|
|
|
public void bind(String name, Object obj, Attributes attrs) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).bind(name, obj, attrs); |
|
} |
|
|
|
public void bind(Name name, Object obj, Attributes attrs) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).bind(name, obj, attrs); |
|
} |
|
|
|
public void rebind(String name, Object obj, Attributes attrs) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).rebind(name, obj, attrs); |
|
} |
|
|
|
public void rebind(Name name, Object obj, Attributes attrs) |
|
throws NamingException { |
|
getURLOrDefaultInitDirCtx(name).rebind(name, obj, attrs); |
|
} |
|
|
|
public DirContext createSubcontext(String name, Attributes attrs) |
|
throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).createSubcontext(name, attrs); |
|
} |
|
|
|
public DirContext createSubcontext(Name name, Attributes attrs) |
|
throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).createSubcontext(name, attrs); |
|
} |
|
|
|
public DirContext getSchema(String name) throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).getSchema(name); |
|
} |
|
|
|
public DirContext getSchema(Name name) throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).getSchema(name); |
|
} |
|
|
|
public DirContext getSchemaClassDefinition(String name) |
|
throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).getSchemaClassDefinition(name); |
|
} |
|
|
|
public DirContext getSchemaClassDefinition(Name name) |
|
throws NamingException { |
|
return getURLOrDefaultInitDirCtx(name).getSchemaClassDefinition(name); |
|
} |
|
|
|
// -------------------- search operations |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(String name, Attributes matchingAttributes) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, matchingAttributes); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(Name name, Attributes matchingAttributes) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, matchingAttributes); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(String name, |
|
Attributes matchingAttributes, |
|
String[] attributesToReturn) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, |
|
matchingAttributes, |
|
attributesToReturn); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(Name name, |
|
Attributes matchingAttributes, |
|
String[] attributesToReturn) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, |
|
matchingAttributes, |
|
attributesToReturn); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(String name, |
|
String filter, |
|
SearchControls cons) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, filter, cons); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(Name name, |
|
String filter, |
|
SearchControls cons) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, filter, cons); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(String name, |
|
String filterExpr, |
|
Object[] filterArgs, |
|
SearchControls cons) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, filterExpr, |
|
filterArgs, cons); |
|
} |
|
|
|
public NamingEnumeration<SearchResult> |
|
search(Name name, |
|
String filterExpr, |
|
Object[] filterArgs, |
|
SearchControls cons) |
|
throws NamingException |
|
{ |
|
return getURLOrDefaultInitDirCtx(name).search(name, filterExpr, |
|
filterArgs, cons); |
|
} |
|
} |