Module java.naming

# Package javax.naming.directory

package javax.naming.directory
Extends the `javax.naming` package to provide functionality for accessing directory services.

This package defines the directory operations of the Java Naming and Directory Interface (JNDI). JNDI provides naming and directory functionality to applications written in the Java programming language. It is designed to be independent of any specific naming or directory service implementation. Thus a variety of services--new, emerging, and already deployed ones--can be accessed in a common way.

This package allows applications to retrieve and update attributes associated with objects stored in a directory, and to search for objects using specified attributes.

## The Directory Context

The `DirContext` interface represents a directory context. It defines methods for examining and updating attributes associated with a directory object, or directory entry as it is sometimes called.

You use `getAttributes()` to retrieve the attributes associated with a directory object (for which you supply the name). Attributes are modified using `modifyAttributes()`. You can add, replace, or remove attributes and/or attribute values using this operation.

`DirContext` also behaves as a naming context by extending the `Context` interface in the `javax.naming` package. This means that any directory object can also provide a naming context. For example, the directory object for a person might contain the attributes of that person, and at the same time provide a context for naming objects relative to that person such as his printers and home directory.

### Searches

`DirContext` contains methods for performing content-based searching of the directory. In the simplest and most common form of usage, the application specifies a set of attributes--possibly with specific values--to match, and submits this attribute set, to the `search()` method. There are other overloaded forms of `search()` that support more sophisticated search filters.

## Package Specification

The JNDI API Specification and related documents can be found in the JNDI documentation.

Since:
  1.3

Related Packages
Package
Description
javax.naming
Provides the classes and interfaces for accessing naming services.
javax.naming.event
Provides support for event notification when accessing naming and directory services.
javax.naming.ldap
Provides support for LDAPv3 extended operations and controls.
javax.naming.spi
Provides the means for dynamically plugging in support for accessing naming and directory services through the `javax.naming` and related packages.
Class
Description
Attribute
This interface represents an attribute associated with a named object.
AttributeInUseException
This exception is thrown when an operation attempts to add an attribute that already exists.
AttributeModificationException
This exception is thrown when an attempt is made to add, or remove, or modify an attribute, its identifier, or its values that conflicts with the attribute's (schema) definition or the attribute's state.
Attributes
This interface represents a collection of attributes.
BasicAttribute
This class provides a basic implementation of the `Attribute` interface.
BasicAttributes
This class provides a basic implementation of the Attributes interface.
DirContext
The directory service interface, containing methods for examining and updating attributes associated with objects, and for searching the directory.
InitialDirContext
This class is the starting context for performing directory operations.
InvalidAttributeIdentifierException
This exception is thrown when an attempt is made to add to create an attribute with an invalid attribute identifier.
InvalidAttributesException
This exception is thrown when an attempt is made to add or modify an attribute set that has been specified incompletely or incorrectly.
InvalidAttributeValueException
This class is thrown when an attempt is made to add to an attribute a value that conflicts with the attribute's schema definition.
InvalidSearchControlsException
This exception is thrown when the specification of the SearchControls for a search operation is invalid.
InvalidSearchFilterException
This exception is thrown when the specification of a search filter is invalid.
ModificationItem
This class represents a modification item.
NoSuchAttributeException
This exception is thrown when attempting to access an attribute that does not exist.
SchemaViolationException
This exception is thrown when a method in some ways violates the schema.
SearchControls
This class encapsulates factors that determine scope of search and what gets returned as a result of the search.
SearchResult
This class represents an item in the NamingEnumeration returned as a result of the DirContext.search() methods.