| org.apache.naming.core.BaseDirContext org.apache.naming.modules.fs.FileDirContext
FileDirContext | public class FileDirContext extends BaseDirContext (Code) | | DirContext for a filesystem directory.
The 'bind' operation will accept an InputStream ( TODO: File, any
resource with content )
and create the file. ( TODO: what attributes can we support ? )
The lookup operation will return a FileDirContext or a File.
Supported attributes: (TODO: lastModified, size, ...)
Note that JNDI allows memory-efficient style, without having one wrapper
object for each real resource.
author: Remy Maucherat author: Costin Manolache |
Constructor Summary | |
public | FileDirContext() Builds a file directory context using the given environment. | public | FileDirContext(Hashtable env) Builds a file directory context using the given environment. |
Method Summary | |
public void | bind(Name nameN, Object obj, Attributes attrs) Binds a name to an object, along with associated attributes. | public DirContext | createSubcontext(Name nameN, Attributes attrs) Creates and binds a new context, along with associated attributes. | public void | destroySubcontext(Name name) Destroys the named context and removes it from the namespace. | protected File | file(String name) Return a File object representing the specified normalized
context-relative path if it exists and is readable. | public Attributes | getAttributes(Name nameN, String[] attrIds) Retrieves selected attributes associated with a named object. | public String | getDocBase() Return the document root for this component. | public String | getNameInNamespace() Retrieves the full name of this context within its own namespace.
Many naming services have a notion of a "full name" for objects in
their respective namespaces. | public boolean | isCaseSensitive() | public NamingEnumeration | list(Name nameN) Enumerates the names bound in the named context, along with the class
names of objects bound to them. | protected Vector | list(File file) List the resources which are members of a collection. | public NamingEnumeration | listBindings(Name nameN) Enumerates the names bound in the named context, along with the
objects bound to them. | public Object | lookup(Name nameObj, boolean resolveLinkx) Retrieves the named object. | protected String | normalize(String path) Return a context-relative path, beginning with a "/", that represents
the canonical version of the specified path after ".." and "." elements
are resolved out. | public void | rebind(Name nameN, Object obj, Attributes attrs) Binds a name to an object, along with associated attributes,
overwriting any existing binding. | public void | release() Release any resources allocated for this directory context. | public void | rename(Name oldNameO, Name newNameO) Binds a new name to the object bound to an old name, and unbinds the
old name. | public void | setAttribute(String name, Object v) | public void | setCaseSensitive(boolean caseSensitive) Set case sensitivity. | public void | setDocBase(String docBase) Set the document root. | public void | unbind(Name nameObj) Unbinds the named object. |
BUFFER_SIZE | final protected static int BUFFER_SIZE(Code) | | |
absoluteBase | protected String absoluteBase(Code) | | Absolute normalized filename of the base.
|
base | protected File base(Code) | | The document base directory.
|
caseSensitive | protected boolean caseSensitive(Code) | | Case sensitivity.
|
docBase | protected String docBase(Code) | | The document base path.
|
FileDirContext | public FileDirContext()(Code) | | Builds a file directory context using the given environment.
|
FileDirContext | public FileDirContext(Hashtable env)(Code) | | Builds a file directory context using the given environment.
|
bind | public void bind(Name nameN, Object obj, Attributes attrs) throws NamingException(Code) | | Binds a name to an object, along with associated attributes. If attrs
is null, the resulting binding will have the attributes associated
with obj if obj is a DirContext, and no attributes otherwise. If attrs
is non-null, the resulting binding will have attrs as its attributes;
any attributes associated with obj are ignored.
Parameters: name - the name to bind; may not be empty Parameters: obj - the object to bind; possibly null Parameters: attrs - the attributes to associate with the binding exception: NameAlreadyBoundException - if name is already bound exception: InvalidAttributesException - if some "mandatory" attributes of the binding are not supplied exception: NamingException - if a naming exception is encountered |
createSubcontext | public DirContext createSubcontext(Name nameN, Attributes attrs) throws NamingException(Code) | | Creates and binds a new context, along with associated attributes.
This method creates a new subcontext with the given name, binds it in
the target context (that named by all but terminal atomic component of
the name), and associates the supplied attributes with the newly
created object. All intermediate and target contexts must already
exist. If attrs is null, this method is equivalent to
Context.createSubcontext().
Parameters: name - the name of the context to create; may not be empty Parameters: attrs - the attributes to associate with the newly created context the newly created context exception: NameAlreadyBoundException - if the name is already bound exception: InvalidAttributesException - if attrs does not contain all the mandatory attributes required for creation exception: NamingException - if a naming exception is encountered |
destroySubcontext | public void destroySubcontext(Name name) throws NamingException(Code) | | Destroys the named context and removes it from the namespace. Any
attributes associated with the name are also removed. Intermediate
contexts are not destroyed.
This method is idempotent. It succeeds even if the terminal atomic
name is not bound in the target context, but throws
NameNotFoundException if any of the intermediate contexts do not exist.
In a federated naming system, a context from one naming system may be
bound to a name in another. One can subsequently look up and perform
operations on the foreign context using a composite name. However, an
attempt destroy the context using this composite name will fail with
NotContextException, because the foreign context is not a "subcontext"
of the context in which it is bound. Instead, use unbind() to remove
the binding of the foreign context. Destroying the foreign context
requires that the destroySubcontext() be performed on a context from
the foreign context's "native" naming system.
Parameters: name - the name of the context to be destroyed; may not be empty exception: NameNotFoundException - if an intermediate context does not exist exception: NotContextException - if the name is bound but does not name a context, or does not name a context of the appropriate type |
file | protected File file(String name)(Code) | | Return a File object representing the specified normalized
context-relative path if it exists and is readable. Otherwise,
return null .
Parameters: name - Normalized context-relative path (with leading '/') |
getAttributes | public Attributes getAttributes(Name nameN, String[] attrIds) throws NamingException(Code) | | Retrieves selected attributes associated with a named object.
See the class description regarding attribute models, attribute type
names, and operational attributes.
the requested attributes; never null Parameters: name - the name of the object from which to retrieve attributes Parameters: attrIds - the identifiers of the attributes to retrieve. null indicates that all attributes should be retrieved; an empty array indicates that none should be retrieved exception: NamingException - if a naming exception is encountered |
getDocBase | public String getDocBase()(Code) | | Return the document root for this component.
|
getNameInNamespace | public String getNameInNamespace() throws NamingException(Code) | | Retrieves the full name of this context within its own namespace.
Many naming services have a notion of a "full name" for objects in
their respective namespaces. For example, an LDAP entry has a
distinguished name, and a DNS record has a fully qualified name. This
method allows the client application to retrieve this name. The string
returned by this method is not a JNDI composite name and should not be
passed directly to context methods. In naming systems for which the
notion of full name does not make sense,
OperationNotSupportedException is thrown.
this context's name in its own namespace; never null exception: OperationNotSupportedException - if the naming system does not have the notion of a full name exception: NamingException - if a naming exception is encountered |
isCaseSensitive | public boolean isCaseSensitive()(Code) | | Is case sensitive ?
|
list | public NamingEnumeration list(Name nameN) throws NamingException(Code) | | Enumerates the names bound in the named context, along with the class
names of objects bound to them. The contents of any subcontexts are
not included.
If a binding is added to or removed from this context, its effect on
an enumeration previously returned is undefined.
Parameters: name - the name of the context to list an enumeration of the names and class names of the bindings in this context. Each element of the enumeration is of type NameClassPair. exception: NamingException - if a naming exception is encountered |
list | protected Vector list(File file)(Code) | | List the resources which are members of a collection.
Parameters: file - Collection Vector containg NamingEntry objects |
listBindings | public NamingEnumeration listBindings(Name nameN) throws NamingException(Code) | | Enumerates the names bound in the named context, along with the
objects bound to them. The contents of any subcontexts are not
included.
If a binding is added to or removed from this context, its effect on
an enumeration previously returned is undefined.
Parameters: name - the name of the context to list an enumeration of the bindings in this context. Each element of the enumeration is of type Binding. exception: NamingException - if a naming exception is encountered |
lookup | public Object lookup(Name nameObj, boolean resolveLinkx) throws NamingException(Code) | | Retrieves the named object. The result is a File relative to the docBase
or a FileDirContext for directories.
Parameters: name - the name of the object to look up the object bound to name exception: NamingException - if a naming exception is encountered |
normalize | protected String normalize(String path)(Code) | | Return a context-relative path, beginning with a "/", that represents
the canonical version of the specified path after ".." and "." elements
are resolved out. If the specified path attempts to go outside the
boundaries of the current context (i.e. too many ".." path elements
are present), return null instead.
Parameters: path - Path to be normalized |
rebind | public void rebind(Name nameN, Object obj, Attributes attrs) throws NamingException(Code) | | Binds a name to an object, along with associated attributes,
overwriting any existing binding. If attrs is null and obj is a
DirContext, the attributes from obj are used. If attrs is null and obj
is not a DirContext, any existing attributes associated with the object
already bound in the directory remain unchanged. If attrs is non-null,
any existing attributes associated with the object already bound in
the directory are removed and attrs is associated with the named
object. If obj is a DirContext and attrs is non-null, the attributes
of obj are ignored.
Parameters: name - the name to bind; may not be empty Parameters: obj - the object to bind; possibly null Parameters: attrs - the attributes to associate with the binding exception: InvalidAttributesException - if some "mandatory" attributes of the binding are not supplied exception: NamingException - if a naming exception is encountered |
release | public void release()(Code) | | Release any resources allocated for this directory context.
|
rename | public void rename(Name oldNameO, Name newNameO) throws NamingException(Code) | | Binds a new name to the object bound to an old name, and unbinds the
old name. Both names are relative to this context. Any attributes
associated with the old name become associated with the new name.
Intermediate contexts of the old name are not changed.
Parameters: oldName - the name of the existing binding; may not be empty Parameters: newName - the name of the new binding; may not be empty exception: NameAlreadyBoundException - if newName is already bound exception: NamingException - if a naming exception is encountered |
setCaseSensitive | public void setCaseSensitive(boolean caseSensitive)(Code) | | Set case sensitivity.
|
unbind | public void unbind(Name nameObj) throws NamingException(Code) | | Unbinds the named object. Removes the terminal atomic name in name
from the target context--that named by all but the terminal atomic
part of name.
This method is idempotent. It succeeds even if the terminal atomic
name is not bound in the target context, but throws
NameNotFoundException if any of the intermediate contexts do not exist.
Parameters: name - the name to bind; may not be empty exception: NameNotFoundException - if an intermediate context does not exist exception: NamingException - if a naming exception is encountered |
Methods inherited from org.apache.naming.core.BaseDirContext | public void bind(Name name, Object obj, Attributes attrs) throws NamingException(Code)(Java Doc) public void bind(String name, Object obj, Attributes attrs) throws NamingException(Code)(Java Doc) public DirContext createSubcontext(String name, Attributes attrs) throws NamingException(Code)(Java Doc) public Attributes getAttributes(Name name) throws NamingException(Code)(Java Doc) public Attributes getAttributes(String name) throws NamingException(Code)(Java Doc) public Attributes getAttributes(String name, String[] attrIds) throws NamingException(Code)(Java Doc) public Attributes getAttributes(Name name, String[] attrIds) throws NamingException(Code)(Java Doc) public DirContext getSchema(Name name) throws NamingException(Code)(Java Doc) public DirContext getSchema(String name) throws NamingException(Code)(Java Doc) public DirContext getSchemaClassDefinition(Name name) throws NamingException(Code)(Java Doc) public DirContext getSchemaClassDefinition(String name) throws NamingException(Code)(Java Doc) public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException(Code)(Java Doc) public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException(Code)(Java Doc) public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException(Code)(Java Doc) public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException(Code)(Java Doc) public void rebind(Name name, Object obj, Attributes attrs) throws NamingException(Code)(Java Doc) public void rebind(String name, Object obj, Attributes attrs) throws NamingException(Code)(Java Doc) public NamingEnumeration search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException(Code)(Java Doc) public NamingEnumeration search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException(Code)(Java Doc) public NamingEnumeration search(Name name, Attributes matchingAttributes) throws NamingException(Code)(Java Doc) public NamingEnumeration search(String name, Attributes matchingAttributes) throws NamingException(Code)(Java Doc) public NamingEnumeration search(Name name, String filter, SearchControls cons) throws NamingException(Code)(Java Doc) public NamingEnumeration search(String name, String filter, SearchControls cons) throws NamingException(Code)(Java Doc) public NamingEnumeration search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException(Code)(Java Doc) public NamingEnumeration search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException(Code)(Java Doc)
|
|
|