Spec-Zone .ru
спецификации, руководства, описания, API
След: Именование Java и Интерфейс Каталога
Урок: Именование и Операции Каталога
Измените Атрибуты
Домашняя страница > Именование Java и Интерфейс Каталога > Именование и Операции Каталога

Измените Атрибуты

Интерфейс DirContext содержит методы для того, чтобы изменить атрибуты и значения атрибута объектов в каталоге.

Используя Список Модификаций

Один способ изменить атрибуты объекта состоит в том, чтобы предоставить список запросов модификации (ModificationItem). Каждый ModificationItem состоит из числового постоянного указания на тип модификации, чтобы сделать и Attribute, описывающий модификацию, чтобы сделать. Следующее является тремя типами модификаций:

Модификации применяются в порядке, в котором они появляются в списке. Или все модификации выполняются, или ни один не.

Следующий код создает список модификаций. Это заменяет значение атрибута "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", чтобы быть однозначным атрибутом, вопреки RFC 2256. Чтобы заставить этот пример работать против Активного Каталога, следует или использовать атрибут кроме "telephonenumber", или изменить DirContext.ADD_ATTRIBUTE на DirContext.REPLACE_ATTRIBUTE.


После создания этого списка модификаций можно предоставить это к modifyAttributes() следующим образом.

// Perform the requested modifications on the named object
ctx.modifyAttributes(name, mods);

Используя Атрибуты

Альтернативно, можно выполнить модификации, определяя тип модификации и атрибутов, к которым можно применить модификацию.

Например, следующая строка заменяет атрибуты (идентифицированный в orig) связанный с name с теми в orig:

ctx.modifyAttributes(name, DirContext.REPLACE_ATTRIBUTE, orig);

Любые другие атрибуты name остаются неизменными.

Оба из этого использования modifyAttributes() демонстрируется в the sample program . Эта программа изменяет атрибуты при использовании списка модификации и затем использует вторую форму modifyAttributes(), чтобы восстановить исходные атрибуты.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Считайте Атрибуты
Следующая страница: Добавьте, Привязка Замены с Атрибутами