Download the JDK
Search the Tutorials
Hide the TOC
Trail: Java Naming and Directory Interface(TM).
Lesson: Naming and Directory Operations
Naming and Directory Operations
Naming Exceptions
Lookup an Object
List the Context
Add, Replace or Remove a Binding
Rename
Create and Destroy Subcontexts
Attribute Names
Read Attributes
Modify Attributes
Add, Replace Bindings with Attributes
Search
Basic Search
Filters
Scope
Result Count
Time Limit
Trouble Shooting Tips
Home Page > Java Naming and Directory Interface(TM). > Naming and Directory Operations
Read Attributes

> To read the attributes of an object from the directory, use `DirContext.getAttributes()` and pass it the name of the object for which you want the attributes. Suppose that an object in the naming service has the name `"cn=Ted Geisel, ou=People"`. To retrieve this object's attributes, you'll need code that looks like this:

> >     Attributes answer = ctx.getAttributes("cn=Ted Geisel, ou=People");

> You can then print the contents of this answer as follows.

> >     for (NamingEnumeration ae = answer.getAll(); ae.hasMore();) {
> >         Attribute attr = (Attribute)ae.next();
> >         System.out.println("attribute: " + attr.getID());
> >         /* Print each value */
> >         for (NamingEnumeration e = attr.getAll(); e.hasMore();
> >     	 System.out.println("value: " + e.next()))
> >     	;
> >     }

> This produces the following output.

> >     # java GetattrsAll
> >     attribute: sn
> >     value: Geisel
> >     attribute: objectclass
> >     value: top
> >     value: person
> >     value: organizationalPerson
> >     value: inetOrgPerson
> >     attribute: jpegphoto
> >     value: [B@1dacd78b
> >     attribute: mail
> >     value: Ted.Geisel@JNDITutorial.com
> >     attribute: facsimiletelephonenumber
> >     value: +1 408 555 2329
> >     attribute: telephonenumber
> >     value: +1 408 555 5252
> >     attribute: cn
> >     value: Ted Geisel

> #### Returning Selected Attributes

> To read a selective subset of attributes, you supply an array of strings that are attribute identifiers of the attributes that you want to retrieve.

> >     // Specify the ids of the attributes to return
> >     String[] attrIDs = {"sn", "telephonenumber", "golfhandicap", "mail"};

> >     // Get the attributes requested
> >     Attributes answer = ctx.getAttributes("cn=Ted Geisel, ou=People", attrIDs);

> This example asks for the `"sn"`, `"telephonenumber"`, `"golfhandicap"` and `"mail"` attributes of the object `"cn=Ted Geisel, ou=People"`. This object has all but the `"golfhandicap"` attribute, and so three attributes are returned in the answer. Following is the output of the example.

> >     # java Getattrs
> >     attribute: sn
> >     value: Geisel
> >     attribute: mail
> >     value: Ted.Geisel@JNDITutorial.com
> >     attribute: telephonenumber
> >     value: +1 408 555 5252

Previous page: Attribute Names
Next page: Modify Attributes