Spec-Zone .ru
спецификации, руководства, описания, API
|
Чтобы считать атрибуты объекта из каталога, используйте DirContext.getAttributes() и передайте это имя объекта, для которого Вы хотите атрибуты. Предположите, что у объекта в службе именования есть имя "cn=Ted Geisel, ou=People". Чтобы получить атрибуты этого объекта, Вы будете нуждаться code
это похоже на это:
Attributes answer = ctx.getAttributes("cn=Ted Geisel, ou=People");
Можно тогда напечатать содержание этого ответа следующим образом.
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())) ; }
Это производит следующий вывод.
# 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.example.com attribute: facsimiletelephonenumber value: +1 408 555 2329 attribute: telephonenumber value: +1 408 555 5252 attribute: cn value: Ted Geisel
Чтобы считать выборочное подмножество атрибутов, Вы предоставляете массив строк, которые являются идентификаторами атрибута атрибутов, которые Вы хотите получить.
// 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
просит "sn", "telephonenumber", "golfhandicap" и атрибуты "mail" объектного "cn=Ted Geisel, ou=People". У этого объекта есть все кроме атрибута "golfhandicap", и таким образом, три атрибута возвращаются в ответе. Следующее является выводом примера.
# java Getattrs attribute: sn value: Geisel attribute: mail value: Ted.Geisel@JNDITutorial.example.com attribute: telephonenumber value: +1 408 555 5252