The Connection.modify()
methods let you add, replace,
and delete attributes values on an entry. Either the modifications are
expressed in LDIF, or you build a ModifyRequest
to
express the changes.
The following excerpt demonstrates how to replace one attribute value and to add another.
final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port); Connection connection = null; try { connection = factory.getConnection(); // Bind as a user who has the right to modify entries. connection.bind(adminDN, adminPwd); // Here, entry is a user entry with DN cn=Bob,ou=People,dc=example,dc=com. Entry old = TreeMapEntry.deepCopyOfEntry(entry); entry = entry.replaceAttribute("mail", "spammer@example.com") .addAttribute("description", "I see the fnords."); ModifyRequest request = Entries.diffEntries(old, entry); connection.modify(request); } catch (final ErrorResultException e) { System.err.println(e.getMessage()); System.exit(e.getResult().getResultCode().intValue()); return; } finally { if (connection != null) { connection.close(); } }