|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Интерфейс DirContext содержит методы для того, чтобы изменить атрибуты и значения атрибута объектов в каталоге.
Модификации применяются в порядке, в котором они появляются в списке. Или все модификации выполняются, или ни один не.
Следующий код создает список модификаций. Это заменяет значение атрибута "mail" значением "geisel@wizards.com", добавляет дополнительное значение к атрибуту "telephonenumber", и удаляет атрибут "jpegphoto".
// Specify the changes to make
ModificationItem[] mods = new ModificationItem[3];
// Replace the "mail" attribute with a new value
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,
new BasicAttribute("mail", "geisel@wizards.com"));
// Add an additional value to "telephonenumber"
mods[1] = new ModificationItem(DirContext.ADD_ATTRIBUTE,
new BasicAttribute("telephonenumber", "+1 555 555 5555"));
// Remove the "jpegphoto" attribute
mods[2] = new ModificationItem(DirContext.REMOVE_ATTRIBUTE,
new BasicAttribute("jpegphoto"));
Windows Активный Каталог: Активный Каталог определяет "telephonenumber", чтобы быть однозначным атрибутом, вопреки . Чтобы заставить этот пример работать против Активного Каталога, следует или использовать атрибут кроме "telephonenumber", или изменить DirContext.ADD_ATTRIBUTE на DirContext.REPLACE_ATTRIBUTE.
После создания этого списка модификаций можно предоставить это к следующим образом.
// Perform the requested modifications on the named object ctx.modifyAttributes(name, mods);
Альтернативно, можно выполнить модификации, определяя тип модификации и атрибутов, к которым можно применить модификацию.
Например, следующая строка заменяет атрибуты (идентифицированный в orig) связанный с name с теми в orig:
ctx.modifyAttributes(name, DirContext.REPLACE_ATTRIBUTE, orig);
Любые другие атрибуты name остаются неизменными.
Оба из этого использования modifyAttributes() демонстрируется в