From 263d085885df024dca9250cc03c807912b0a7662 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 24 Apr 2012 22:33:21 +0000
Subject: [PATCH] Reformat to comply with new Checkstyle rules.
---
opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java | 866 +++++++++++++++++++++++++++------------------------------
1 files changed, 409 insertions(+), 457 deletions(-)
diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java
index 6b298aa..0873122 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java
@@ -6,17 +6,16 @@
* (the "License"). You may not use this file except in compliance
* with the License.
*
- * You can obtain a copy of the license at
- * trunk/opendj3/legal-notices/CDDLv1_0.txt
+ * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
* or http://forgerock.org/license/CDDLv1.0.html.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at
- * trunk/opendj3/legal-notices/CDDLv1_0.txt. If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying information:
+ * file and include the License file at legal-notices/CDDLv1_0.txt.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
@@ -28,13 +27,9 @@
package org.forgerock.opendj.ldap;
-
-
import java.util.Collection;
-import org.forgerock.i18n.*;
-
-
+import org.forgerock.i18n.LocalizedIllegalArgumentException;
/**
* An entry, comprising of a distinguished name and zero or more attributes.
@@ -63,473 +58,430 @@
*
* @see Entries
*/
-public interface Entry
-{
+public interface Entry {
- /**
- * Ensures that this entry contains the provided attribute and values
- * (optional operation). This method has the following semantics:
- * <ul>
- * <li>If this entry does not already contain an attribute with the same
- * attribute description, then this entry will be modified such that it
- * contains {@code attribute}, even if it is empty.
- * <li>If this entry already contains an attribute with the same attribute
- * description, then the attribute values contained in {@code attribute} will
- * be merged with the existing attribute values.
- * </ul>
- * <p>
- * <b>NOTE:</b> When {@code attribute} is non-empty, this method implements
- * LDAP Modify add semantics.
- *
- * @param attribute
- * The attribute values to be added to this entry, merging with any
- * existing attribute values.
- * @return {@code true} if this entry changed as a result of this call.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * added.
- * @throws NullPointerException
- * If {@code attribute} was {@code null}.
- */
- boolean addAttribute(Attribute attribute);
+ /**
+ * Ensures that this entry contains the provided attribute and values
+ * (optional operation). This method has the following semantics:
+ * <ul>
+ * <li>If this entry does not already contain an attribute with the same
+ * attribute description, then this entry will be modified such that it
+ * contains {@code attribute}, even if it is empty.
+ * <li>If this entry already contains an attribute with the same attribute
+ * description, then the attribute values contained in {@code attribute}
+ * will be merged with the existing attribute values.
+ * </ul>
+ * <p>
+ * <b>NOTE:</b> When {@code attribute} is non-empty, this method implements
+ * LDAP Modify add semantics.
+ *
+ * @param attribute
+ * The attribute values to be added to this entry, merging with
+ * any existing attribute values.
+ * @return {@code true} if this entry changed as a result of this call.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be added.
+ * @throws NullPointerException
+ * If {@code attribute} was {@code null}.
+ */
+ boolean addAttribute(Attribute attribute);
+ /**
+ * Ensures that this entry contains the provided attribute and values
+ * (optional operation). This method has the following semantics:
+ * <ul>
+ * <li>If this entry does not already contain an attribute with the same
+ * attribute description, then this entry will be modified such that it
+ * contains {@code attribute}, even if it is empty.
+ * <li>If this entry already contains an attribute with the same attribute
+ * description, then the attribute values contained in {@code attribute}
+ * will be merged with the existing attribute values.
+ * </ul>
+ * <p>
+ * <b>NOTE:</b> When {@code attribute} is non-empty, this method implements
+ * LDAP Modify add semantics.
+ *
+ * @param attribute
+ * The attribute values to be added to this entry, merging with
+ * any existing attribute values.
+ * @param duplicateValues
+ * A collection into which duplicate values will be added, or
+ * {@code null} if duplicate values should not be saved.
+ * @return {@code true} if this entry changed as a result of this call.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be added.
+ * @throws NullPointerException
+ * If {@code attribute} was {@code null}.
+ */
+ boolean addAttribute(Attribute attribute, Collection<ByteString> duplicateValues);
+ /**
+ * Ensures that this entry contains the provided attribute and values
+ * (optional operation). This method has the following semantics:
+ * <ul>
+ * <li>If this entry does not already contain an attribute with the same
+ * attribute description, then this entry will be modified such that it
+ * contains {@code attribute}, even if it is empty.
+ * <li>If this entry already contains an attribute with the same attribute
+ * description, then the attribute values contained in {@code attribute}
+ * will be merged with the existing attribute values.
+ * </ul>
+ * <p>
+ * The attribute description will be decoded using the schema associated
+ * with this entry (usually the default schema).
+ * <p>
+ * Any attribute values which are not instances of {@code ByteString} will
+ * be converted using the {@link ByteString#valueOf(Object)} method.
+ * <p>
+ * <b>NOTE:</b> When {@code attribute} is non-empty, this method implements
+ * LDAP Modify add semantics.
+ *
+ * @param attributeDescription
+ * The name of the attribute whose values are to be added.
+ * @param values
+ * The attribute values to be added to this entry, merging any
+ * existing attribute values.
+ * @return This entry.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code attributeDescription} could not be decoded using
+ * the schema associated with this entry.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be added.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ Entry addAttribute(String attributeDescription, Object... values);
- /**
- * Ensures that this entry contains the provided attribute and values
- * (optional operation). This method has the following semantics:
- * <ul>
- * <li>If this entry does not already contain an attribute with the same
- * attribute description, then this entry will be modified such that it
- * contains {@code attribute}, even if it is empty.
- * <li>If this entry already contains an attribute with the same attribute
- * description, then the attribute values contained in {@code attribute} will
- * be merged with the existing attribute values.
- * </ul>
- * <p>
- * <b>NOTE:</b> When {@code attribute} is non-empty, this method implements
- * LDAP Modify add semantics.
- *
- * @param attribute
- * The attribute values to be added to this entry, merging with any
- * existing attribute values.
- * @param duplicateValues
- * A collection into which duplicate values will be added, or {@code
- * null} if duplicate values should not be saved.
- * @return {@code true} if this entry changed as a result of this call.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * added.
- * @throws NullPointerException
- * If {@code attribute} was {@code null}.
- */
- boolean addAttribute(Attribute attribute,
- Collection<ByteString> duplicateValues);
+ /**
+ * Removes all the attributes from this entry (optional operation).
+ *
+ * @return This entry.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes to be removed.
+ */
+ Entry clearAttributes();
+ /**
+ * Returns {@code true} if this entry contains all of the attribute values
+ * contained in {@code attribute}. If {@code attribute} is empty then this
+ * method will return {@code true} if the attribute is present in this
+ * entry, regardless of how many values it contains.
+ *
+ * @param attribute
+ * The attribute values whose presence in this entry is to be
+ * tested.
+ * @param missingValues
+ * A collection into which missing values will be added, or
+ * {@code null} if missing values should not be saved.
+ * @return {@code true} if this entry contains all of the attribute values
+ * contained in {@code attribute}.
+ * @throws NullPointerException
+ * If {@code attribute} was {@code null}.
+ */
+ boolean containsAttribute(Attribute attribute, Collection<ByteString> missingValues);
+ /**
+ * Returns {@code true} if this entry contains all of the attribute values
+ * contained in {@code values}. If {@code values} is {@code null} or empty
+ * then this method will return {@code true} if the attribute is present in
+ * this entry, regardless of how many values it contains.
+ * <p>
+ * The attribute description will be decoded using the schema associated
+ * with this entry (usually the default schema).
+ * <p>
+ * Any attribute values which are not instances of {@code ByteString} will
+ * be converted using the {@link ByteString#valueOf(Object)} method.
+ *
+ * @param attributeDescription
+ * The name of the attribute whose presence in this entry is to
+ * be tested.
+ * @param values
+ * The attribute values whose presence in this entry is to be
+ * tested, which may be {@code null}.
+ * @return {@code true} if this entry contains all of the attribute values
+ * contained in {@code values}.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code attributeDescription} could not be decoded using
+ * the schema associated with this entry.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ boolean containsAttribute(String attributeDescription, Object... values);
- /**
- * Ensures that this entry contains the provided attribute and values
- * (optional operation). This method has the following semantics:
- * <ul>
- * <li>If this entry does not already contain an attribute with the same
- * attribute description, then this entry will be modified such that it
- * contains {@code attribute}, even if it is empty.
- * <li>If this entry already contains an attribute with the same attribute
- * description, then the attribute values contained in {@code attribute} will
- * be merged with the existing attribute values.
- * </ul>
- * <p>
- * The attribute description will be decoded using the schema associated with
- * this entry (usually the default schema).
- * <p>
- * Any attribute values which are not instances of {@code ByteString} will be
- * converted using the {@link ByteString#valueOf(Object)} method.
- * <p>
- * <b>NOTE:</b> When {@code attribute} is non-empty, this method implements
- * LDAP Modify add semantics.
- *
- * @param attributeDescription
- * The name of the attribute whose values are to be added.
- * @param values
- * The attribute values to be added to this entry, merging any
- * existing attribute values.
- * @return This entry.
- * @throws LocalizedIllegalArgumentException
- * If {@code attributeDescription} could not be decoded using the
- * schema associated with this entry.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * added.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- Entry addAttribute(String attributeDescription, Object... values);
+ /**
+ * Returns {@code true} if {@code object} is an entry which is equal to this
+ * entry. Two entries are considered equal if their distinguished names are
+ * equal, they both have the same number of attributes, and every attribute
+ * contained in the first entry is also contained in the second entry.
+ *
+ * @param object
+ * The object to be tested for equality with this entry.
+ * @return {@code true} if {@code object} is an entry which is equal to this
+ * entry, or {@code false} if not.
+ */
+ boolean equals(Object object);
+ /**
+ * Returns an {@code Iterable} containing all of the attributes in this
+ * entry. The returned {@code Iterable} may be used to remove attributes if
+ * permitted by this entry.
+ *
+ * @return An {@code Iterable} containing all of the attributes.
+ */
+ Iterable<Attribute> getAllAttributes();
+ /**
+ * Returns an {@code Iterable} containing all the attributes in this entry
+ * having an attribute description which is a sub-type of the provided
+ * attribute description. The returned {@code Iterable} may be used to
+ * remove attributes if permitted by this entry.
+ *
+ * @param attributeDescription
+ * The name of the attributes to be returned.
+ * @return An {@code Iterable} containing the matching attributes.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription);
- /**
- * Removes all the attributes from this entry (optional operation).
- *
- * @return This entry.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes to be removed.
- */
- Entry clearAttributes();
+ /**
+ * Returns an {@code Iterable} containing all the attributes in this entry
+ * having an attribute description which is a sub-type of the provided
+ * attribute description. The returned {@code Iterable} may be used to
+ * remove attributes if permitted by this entry.
+ * <p>
+ * The attribute description will be decoded using the schema associated
+ * with this entry (usually the default schema).
+ *
+ * @param attributeDescription
+ * The name of the attributes to be returned.
+ * @return An {@code Iterable} containing the matching attributes.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code attributeDescription} could not be decoded using
+ * the schema associated with this entry.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ Iterable<Attribute> getAllAttributes(String attributeDescription);
+ /**
+ * Returns the named attribute contained in this entry, or {@code null} if
+ * it is not included with this entry.
+ *
+ * @param attributeDescription
+ * The name of the attribute to be returned.
+ * @return The named attribute, or {@code null} if it is not included with
+ * this entry.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ Attribute getAttribute(AttributeDescription attributeDescription);
+ /**
+ * Returns the named attribute contained in this entry, or {@code null} if
+ * it is not included with this entry.
+ * <p>
+ * The attribute description will be decoded using the schema associated
+ * with this entry (usually the default schema).
+ *
+ * @param attributeDescription
+ * The name of the attribute to be returned.
+ * @return The named attribute, or {@code null} if it is not included with
+ * this entry.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code attributeDescription} could not be decoded using
+ * the schema associated with this entry.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ Attribute getAttribute(String attributeDescription);
- /**
- * Returns {@code true} if this entry contains all of the attribute values
- * contained in {@code attribute}. If {@code attribute} is empty then this
- * method will return {@code true} if the attribute is present in this entry,
- * regardless of how many values it contains.
- *
- * @param attribute
- * The attribute values whose presence in this entry is to be tested.
- * @param missingValues
- * A collection into which missing values will be added, or {@code
- * null} if missing values should not be saved.
- * @return {@code true} if this entry contains all of the attribute values
- * contained in {@code attribute}.
- * @throws NullPointerException
- * If {@code attribute} was {@code null}.
- */
- boolean containsAttribute(Attribute attribute,
- Collection<ByteString> missingValues);
+ /**
+ * Returns the number of attributes in this entry.
+ *
+ * @return The number of attributes.
+ */
+ int getAttributeCount();
+ /**
+ * Returns the string representation of the distinguished name of this
+ * entry.
+ *
+ * @return The string representation of the distinguished name.
+ */
+ DN getName();
+ /**
+ * Returns the hash code for this entry. It will be calculated as the sum of
+ * the hash codes of the distinguished name and all of the attributes.
+ *
+ * @return The hash code for this entry.
+ */
+ int hashCode();
- /**
- * Returns {@code true} if this entry contains all of the attribute values
- * contained in {@code values}. If {@code values} is {@code null} or empty
- * then this method will return {@code true} if the attribute is present in
- * this entry, regardless of how many values it contains.
- * <p>
- * The attribute description will be decoded using the schema associated with
- * this entry (usually the default schema).
- * <p>
- * Any attribute values which are not instances of {@code ByteString} will be
- * converted using the {@link ByteString#valueOf(Object)} method.
- *
- * @param attributeDescription
- * The name of the attribute whose presence in this entry is to be
- * tested.
- * @param values
- * The attribute values whose presence in this entry is to be tested,
- * which may be {@code null}.
- * @return {@code true} if this entry contains all of the attribute values
- * contained in {@code values}.
- * @throws LocalizedIllegalArgumentException
- * If {@code attributeDescription} could not be decoded using the
- * schema associated with this entry.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- boolean containsAttribute(String attributeDescription, Object... values);
+ /**
+ * Removes all of the attribute values contained in {@code attribute} from
+ * this entry if it is present (optional operation). If {@code attribute} is
+ * empty then the entire attribute will be removed if it is present.
+ * <p>
+ * <b>NOTE:</b> This method implements LDAP Modify delete semantics.
+ *
+ * @param attribute
+ * The attribute values to be removed from this entry, which may
+ * be empty if the entire attribute is to be removed.
+ * @param missingValues
+ * A collection into which missing values will be added, or
+ * {@code null} if missing values should not be saved.
+ * @return {@code true} if this entry changed as a result of this call.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be removed.
+ * @throws NullPointerException
+ * If {@code attribute} was {@code null}.
+ */
+ boolean removeAttribute(Attribute attribute, Collection<ByteString> missingValues);
-
-
- /**
- * Returns {@code true} if {@code object} is an entry which is equal to this
- * entry. Two entries are considered equal if their distinguished names are
- * equal, they both have the same number of attributes, and every attribute
- * contained in the first entry is also contained in the second entry.
- *
- * @param object
- * The object to be tested for equality with this entry.
- * @return {@code true} if {@code object} is an entry which is equal to this
- * entry, or {@code false} if not.
- */
- boolean equals(Object object);
-
-
-
- /**
- * Returns an {@code Iterable} containing all of the attributes in this entry.
- * The returned {@code Iterable} may be used to remove attributes if permitted
- * by this entry.
- *
- * @return An {@code Iterable} containing all of the attributes.
- */
- Iterable<Attribute> getAllAttributes();
-
-
-
- /**
- * Returns an {@code Iterable} containing all the attributes in this entry
- * having an attribute description which is a sub-type of the provided
- * attribute description. The returned {@code Iterable} may be used to remove
- * attributes if permitted by this entry.
- *
- * @param attributeDescription
- * The name of the attributes to be returned.
- * @return An {@code Iterable} containing the matching attributes.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription);
-
-
-
- /**
- * Returns an {@code Iterable} containing all the attributes in this entry
- * having an attribute description which is a sub-type of the provided
- * attribute description. The returned {@code Iterable} may be used to remove
- * attributes if permitted by this entry.
- * <p>
- * The attribute description will be decoded using the schema associated with
- * this entry (usually the default schema).
- *
- * @param attributeDescription
- * The name of the attributes to be returned.
- * @return An {@code Iterable} containing the matching attributes.
- * @throws LocalizedIllegalArgumentException
- * If {@code attributeDescription} could not be decoded using the
- * schema associated with this entry.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- Iterable<Attribute> getAllAttributes(String attributeDescription);
-
-
-
- /**
- * Returns the named attribute contained in this entry, or {@code null} if it
- * is not included with this entry.
- *
- * @param attributeDescription
- * The name of the attribute to be returned.
- * @return The named attribute, or {@code null} if it is not included with
- * this entry.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- Attribute getAttribute(AttributeDescription attributeDescription);
-
-
-
- /**
- * Returns the named attribute contained in this entry, or {@code null} if it
- * is not included with this entry.
- * <p>
- * The attribute description will be decoded using the schema associated with
- * this entry (usually the default schema).
- *
- * @param attributeDescription
- * The name of the attribute to be returned.
- * @return The named attribute, or {@code null} if it is not included with
- * this entry.
- * @throws LocalizedIllegalArgumentException
- * If {@code attributeDescription} could not be decoded using the
- * schema associated with this entry.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- Attribute getAttribute(String attributeDescription);
-
-
-
- /**
- * Returns the number of attributes in this entry.
- *
- * @return The number of attributes.
- */
- int getAttributeCount();
-
-
-
- /**
- * Returns the string representation of the distinguished name of this entry.
- *
- * @return The string representation of the distinguished name.
- */
- DN getName();
-
-
-
- /**
- * Returns the hash code for this entry. It will be calculated as the sum of
- * the hash codes of the distinguished name and all of the attributes.
- *
- * @return The hash code for this entry.
- */
- int hashCode();
-
-
-
- /**
- * Removes all of the attribute values contained in {@code attribute} from
- * this entry if it is present (optional operation). If {@code attribute} is
- * empty then the entire attribute will be removed if it is present.
- * <p>
- * <b>NOTE:</b> This method implements LDAP Modify delete semantics.
- *
- * @param attribute
- * The attribute values to be removed from this entry, which may be
- * empty if the entire attribute is to be removed.
- * @param missingValues
- * A collection into which missing values will be added, or {@code
- * null} if missing values should not be saved.
- * @return {@code true} if this entry changed as a result of this call.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * removed.
- * @throws NullPointerException
- * If {@code attribute} was {@code null}.
- */
- boolean removeAttribute(Attribute attribute,
- Collection<ByteString> missingValues);
-
-
-
- /**
- * Removes the named attribute from this entry if it is present (optional
- * operation). If this attribute does not contain the attribute, the call
- * leaves this entry unchanged and returns {@code false}.
- *
- * @param attributeDescription
- * The name of the attribute to be removed.
- * @return {@code true} if this entry changed as a result of this call.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes to be removed.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- boolean removeAttribute(AttributeDescription attributeDescription);
-
-
-
- /**
- * Removes all of the attribute values contained in {@code values} from the
- * named attribute in this entry if it is present (optional operation). If
- * {@code values} is {@code null} or empty then the entire attribute will be
- * removed if it is present.
- * <p>
- * The attribute description will be decoded using the schema associated with
- * this entry (usually the default schema).
- * <p>
- * Any attribute values which are not instances of {@code ByteString} will be
- * converted using the {@link ByteString#valueOf(Object)} method.
- * <p>
- * <b>NOTE:</b> This method implements LDAP Modify delete semantics.
- *
- * @param attributeDescription
- * The name of the attribute whose values are to be removed.
- * @param values
- * The attribute values to be removed from this entry, which may be
- * {@code null} or empty if the entire attribute is to be removed.
- * @return This entry.
- * @throws LocalizedIllegalArgumentException
- * If {@code attributeDescription} could not be decoded using the
- * schema associated with this entry.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * removed.
- * @throws NullPointerException
- * If {@code attributeDescription} was {@code null}.
- */
- Entry removeAttribute(String attributeDescription, Object... values);
-
-
-
- /**
- * Adds all of the attribute values contained in {@code attribute} to this
- * entry, replacing any existing attribute values (optional operation). If
- * {@code attribute} is empty then the entire attribute will be removed if it
- * is present.
- * <p>
- * <b>NOTE:</b> This method implements LDAP Modify replace semantics.
- *
- * @param attribute
- * The attribute values to be added to this entry, replacing any
- * existing attribute values, and which may be empty if the entire
- * attribute is to be removed.
- * @return {@code true} if this entry changed as a result of this call.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * replaced.
- * @throws NullPointerException
- * If {@code attribute} was {@code null}.
- */
- boolean replaceAttribute(Attribute attribute);
-
-
-
- /**
- * Adds all of the attribute values contained in {@code values} to this entry,
- * replacing any existing attribute values (optional operation). If {@code
- * values} is {@code null} or empty then the entire attribute will be removed
- * if it is present.
- * <p>
- * The attribute description will be decoded using the schema associated with
- * this entry (usually the default schema).
- * <p>
- * Any attribute values which are not instances of {@code ByteString} will be
- * converted using the {@link ByteString#valueOf(Object)} method.
- * <p>
- * <b>NOTE:</b> This method implements LDAP Modify replace semantics.
- *
- * @param attributeDescription
- * The name of the attribute whose values are to be replaced.
- * @param values
- * The attribute values to be added to this entry, replacing any
- * existing attribute values, and which may be {@code null} or empty
- * if the entire attribute is to be removed.
- * @return This entry.
- * @throws LocalizedIllegalArgumentException
- * If {@code attributeDescription} could not be decoded using the
- * schema associated with this entry.
- * @throws UnsupportedOperationException
- * If this entry does not permit attributes or their values to be
- * replaced.
- * @throws NullPointerException
- * If {@code attribute} was {@code null}.
- */
- Entry replaceAttribute(String attributeDescription, Object... values);
-
-
-
- /**
- * Sets the distinguished name of this entry (optional operation).
- *
- * @param dn
- * The distinguished name.
- * @return This entry.
- * @throws UnsupportedOperationException
- * If this entry does not permit the distinguished name to be set.
- * @throws NullPointerException
- * If {@code dn} was {@code null}.
- */
- Entry setName(DN dn);
+ /**
+ * Removes the named attribute from this entry if it is present (optional
+ * operation). If this attribute does not contain the attribute, the call
+ * leaves this entry unchanged and returns {@code false}.
+ *
+ * @param attributeDescription
+ * The name of the attribute to be removed.
+ * @return {@code true} if this entry changed as a result of this call.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes to be removed.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ boolean removeAttribute(AttributeDescription attributeDescription);
+ /**
+ * Removes all of the attribute values contained in {@code values} from the
+ * named attribute in this entry if it is present (optional operation). If
+ * {@code values} is {@code null} or empty then the entire attribute will be
+ * removed if it is present.
+ * <p>
+ * The attribute description will be decoded using the schema associated
+ * with this entry (usually the default schema).
+ * <p>
+ * Any attribute values which are not instances of {@code ByteString} will
+ * be converted using the {@link ByteString#valueOf(Object)} method.
+ * <p>
+ * <b>NOTE:</b> This method implements LDAP Modify delete semantics.
+ *
+ * @param attributeDescription
+ * The name of the attribute whose values are to be removed.
+ * @param values
+ * The attribute values to be removed from this entry, which may
+ * be {@code null} or empty if the entire attribute is to be
+ * removed.
+ * @return This entry.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code attributeDescription} could not be decoded using
+ * the schema associated with this entry.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be removed.
+ * @throws NullPointerException
+ * If {@code attributeDescription} was {@code null}.
+ */
+ Entry removeAttribute(String attributeDescription, Object... values);
+ /**
+ * Adds all of the attribute values contained in {@code attribute} to this
+ * entry, replacing any existing attribute values (optional operation). If
+ * {@code attribute} is empty then the entire attribute will be removed if
+ * it is present.
+ * <p>
+ * <b>NOTE:</b> This method implements LDAP Modify replace semantics.
+ *
+ * @param attribute
+ * The attribute values to be added to this entry, replacing any
+ * existing attribute values, and which may be empty if the
+ * entire attribute is to be removed.
+ * @return {@code true} if this entry changed as a result of this call.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be replaced.
+ * @throws NullPointerException
+ * If {@code attribute} was {@code null}.
+ */
+ boolean replaceAttribute(Attribute attribute);
- /**
- * Sets the distinguished name of this entry (optional operation).
- * <p>
- * The distinguished name will be decoded using the schema associated with
- * this entry (usually the default schema).
- *
- * @param dn
- * The string representation of the distinguished name.
- * @return This entry.
- * @throws LocalizedIllegalArgumentException
- * If {@code dn} could not be decoded using the schema associated
- * with this entry.
- * @throws UnsupportedOperationException
- * If this entry does not permit the distinguished name to be set.
- * @throws NullPointerException
- * If {@code dn} was {@code null}.
- */
- Entry setName(String dn);
+ /**
+ * Adds all of the attribute values contained in {@code values} to this
+ * entry, replacing any existing attribute values (optional operation). If
+ * {@code values} is {@code null} or empty then the entire attribute will be
+ * removed if it is present.
+ * <p>
+ * The attribute description will be decoded using the schema associated
+ * with this entry (usually the default schema).
+ * <p>
+ * Any attribute values which are not instances of {@code ByteString} will
+ * be converted using the {@link ByteString#valueOf(Object)} method.
+ * <p>
+ * <b>NOTE:</b> This method implements LDAP Modify replace semantics.
+ *
+ * @param attributeDescription
+ * The name of the attribute whose values are to be replaced.
+ * @param values
+ * The attribute values to be added to this entry, replacing any
+ * existing attribute values, and which may be {@code null} or
+ * empty if the entire attribute is to be removed.
+ * @return This entry.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code attributeDescription} could not be decoded using
+ * the schema associated with this entry.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit attributes or their values to
+ * be replaced.
+ * @throws NullPointerException
+ * If {@code attribute} was {@code null}.
+ */
+ Entry replaceAttribute(String attributeDescription, Object... values);
+ /**
+ * Sets the distinguished name of this entry (optional operation).
+ *
+ * @param dn
+ * The distinguished name.
+ * @return This entry.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit the distinguished name to be
+ * set.
+ * @throws NullPointerException
+ * If {@code dn} was {@code null}.
+ */
+ Entry setName(DN dn);
+ /**
+ * Sets the distinguished name of this entry (optional operation).
+ * <p>
+ * The distinguished name will be decoded using the schema associated with
+ * this entry (usually the default schema).
+ *
+ * @param dn
+ * The string representation of the distinguished name.
+ * @return This entry.
+ * @throws LocalizedIllegalArgumentException
+ * If {@code dn} could not be decoded using the schema
+ * associated with this entry.
+ * @throws UnsupportedOperationException
+ * If this entry does not permit the distinguished name to be
+ * set.
+ * @throws NullPointerException
+ * If {@code dn} was {@code null}.
+ */
+ Entry setName(String dn);
- /**
- * Returns a string representation of this entry.
- *
- * @return The string representation of this entry.
- */
- String toString();
+ /**
+ * Returns a string representation of this entry.
+ *
+ * @return The string representation of this entry.
+ */
+ String toString();
}
--
Gitblit v1.10.0