| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| package org.apache.directory.shared.ldap.model.entry; |
| |
| |
| import java.io.Externalizable; |
| import java.util.Iterator; |
| import java.util.List; |
| import java.util.Set; |
| |
| import org.apache.directory.shared.ldap.model.exception.LdapException; |
| |
| import org.apache.directory.shared.ldap.model.name.Dn; |
| import org.apache.directory.shared.ldap.model.schema.MutableAttributeTypeImpl; |
| |
| |
| /** |
| * <p> |
| * This interface represent a LDAP entry. An LDAP entry contains : |
| * <li> A distinguished name (Dn)</li> |
| * <li> A list of attributes</li> |
| * </p> |
| * <p> |
| * The available methods on this object are described in this interface. |
| * </p> |
| * <p> |
| * This interface is used by the serverEntry and clientEntry interfaces. |
| *</p> |
| * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> |
| */ |
| public interface Entry extends Cloneable, Iterable<EntryAttribute>, Externalizable |
| { |
| /** |
| * Remove all the attributes for this entry. The Dn is not reset |
| */ |
| void clear(); |
| |
| |
| /** |
| * Clone the current entry |
| */ |
| Entry clone(); |
| |
| |
| /** |
| * Get this entry's Dn. |
| * |
| * @return The entry's Dn |
| */ |
| Dn getDn(); |
| |
| |
| /** |
| * Tells if an entry as a specific ObjectClass value |
| * |
| * @param objectClass The ObjectClassw we want to check |
| * @return <code>true</code> if the ObjectClass value is present |
| * in the ObjectClass attribute |
| */ |
| boolean hasObjectClass( String objectClass ); |
| |
| |
| /** |
| * Tells if an entry has a specific ObjectClass Attribute |
| * |
| * @param objectClass The ObjectClass we want to check |
| * @return <code>true</code> if the ObjectClass value is present |
| * in the ObjectClass attribute |
| */ |
| boolean hasObjectClass( EntryAttribute objectClass ); |
| |
| |
| /** |
| * <p> |
| * Returns the attribute with the specified alias. The return value |
| * is <code>null</code> if no match is found. |
| * </p> |
| * <p>An Attribute with an id different from the supplied alias may |
| * be returned: for example a call with 'cn' may in some implementations |
| * return an Attribute whose getId() field returns 'commonName'. |
| * </p> |
| * |
| * @param alias an aliased name of the attribute identifier |
| * @return the attribute associated with the alias |
| */ |
| EntryAttribute get( String alias ); |
| |
| |
| /** |
| * <p> |
| * Returns the attribute with the specified AttributeType. The return value |
| * is <code>null</code> if no match is found. |
| * </p> |
| * |
| * @param attributeType The attributeType we are looking for. |
| * @return the attribute associated with the AttributeType. |
| */ |
| /** |
| * Returns the attribute associated with an AttributeType |
| * |
| * @param attributeType the AttributeType we are looking for |
| * @return the associated attribute |
| */ |
| EntryAttribute get( MutableAttributeTypeImpl attributeType ); |
| |
| |
| /** |
| * Gets all the attributes type |
| * |
| * @return The combined set of all the attributes. |
| */ |
| Set<MutableAttributeTypeImpl> getAttributeTypes(); |
| |
| |
| /** |
| * <p> |
| * Put some new ClientAttribute using the User Provided ID. |
| * No value is inserted. |
| * </p> |
| * <p> |
| * If an existing Attribute is found, it will be replaced by an |
| * empty attribute, and returned to the caller. |
| * </p> |
| * |
| * @param upIds The user provided IDs of the AttributeTypes to add. |
| * @return A list of replaced Attributes. |
| */ |
| List<EntryAttribute> set( String... upIds ); |
| |
| |
| /** |
| * <p> |
| * Put some new attributes using the attributeTypes. |
| * No value is inserted. |
| * </p> |
| * <p> |
| * If an existing Attribute is found, it will be replaced by an |
| * empty attribute, and returned to the caller. |
| * </p> |
| * |
| * @param attributeTypes The AttributeTypes to add. |
| * @return A list of replaced Attributes, of <code>null</code> if no attribute are removed. |
| */ |
| List<EntryAttribute> set( MutableAttributeTypeImpl... attributeTypes ); |
| |
| |
| /** |
| * Set this entry's Dn. |
| * |
| * @param dn The Dn associated with this entry |
| */ |
| void setDn( Dn dn ); |
| |
| |
| /** |
| * Fail fast check performed to determine entry consistency according to schema |
| * characteristics. |
| * |
| * @return true if the entry, it's attributes and their values are consistent |
| * with the schema |
| */ |
| boolean isValid(); |
| |
| |
| /** |
| * Check performed to determine entry consistency according to the schema |
| * requirements of a particular objectClass. The entry must be of that objectClass |
| * to return true: meaning if the entry's objectClass attribute does not contain |
| * the objectClass argument, then false should be returned. |
| * |
| * @param objectClass the objectClass to use while checking for validity |
| * @return true if the entry, it's attributes and their values are consistent |
| * with the objectClass |
| */ |
| boolean isValid( String objectClass ); |
| |
| |
| /** |
| * Check performed to determine entry consistency according to the schema |
| * requirements of a particular objectClass. The entry must be of that objectClass |
| * to return true: meaning if the entry's objectClass attribute does not contain |
| * the objectClass argument, then false should be returned. |
| * |
| * @param objectClass the objectClass to use while checking for validity |
| * @return true if the entry, it's attributes and their values are consistent |
| * with the objectClass |
| */ |
| boolean isValid( EntryAttribute objectClass ); |
| |
| |
| /** |
| * Returns an enumeration containing the zero or more attributes in the |
| * collection. The behavior of the enumeration is not specified if the |
| * attribute collection is changed. |
| * |
| * @return an enumeration of all contained attributes |
| */ |
| Iterator<EntryAttribute> iterator(); |
| |
| |
| /** |
| * Add some Attributes to the current Entry. |
| * |
| * @param attributes The attributes to add |
| * @throws LdapException If we can't add any of the attributes |
| */ |
| void add( EntryAttribute... attributes ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Add an attribute (represented by its AttributeType and some binary values) into an |
| * entry. |
| * </p> |
| * <p> |
| * If we already have an attribute with the same values, the duplicated values |
| * are not added (duplicated values are not allowed) |
| * </p> |
| * <p> |
| * If the value cannot be added, or if the AttributeType is null or invalid, |
| * a LdapException is thrown. |
| * </p> |
| * |
| * @param attributeType The attribute Type. |
| * @param values The list of binary values to inject. It can be empty. |
| * @throws LdapException If the attribute does not exist |
| */ |
| void add( MutableAttributeTypeImpl attributeType, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Add an attribute (represented by its AttributeType and some String values) into an |
| * entry. |
| * </p> |
| * <p> |
| * If we already have an attribute with the same values, the duplicated values |
| * are not added (duplicated values are not allowed) |
| * </p> |
| * <p> |
| * If the value cannot be added, or if the AttributeType is null or invalid, |
| * a LdapException is thrown. |
| * </p> |
| * |
| * @param attributeType The attribute Type |
| * @param values The list of binary values to inject. It can be empty |
| * @throws org.apache.directory.shared.ldap.model.exception.LdapException If the attribute does not exist |
| */ |
| void add( MutableAttributeTypeImpl attributeType, String... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Add an attribute (represented by its AttributeType and some values) into an |
| * entry. |
| * </p> |
| * <p> |
| * If we already have an attribute with the same values, the duplicated values |
| * are not added (duplicated values are not allowed) |
| * </p> |
| * <p> |
| * If the value cannot be added, or if the AttributeType is null or invalid, |
| * a LdapException is thrown. |
| * </p> |
| * |
| * @param attributeType The attribute Type |
| * @param values The list of binary values to inject. It can be empty |
| * @throws LdapException If the attribute does not exist |
| */ |
| void add( MutableAttributeTypeImpl attributeType, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Add an attribute (represented by its AttributeType and some binary values) into an |
| * entry. Set the User Provider ID at the same time |
| * </p> |
| * <p> |
| * If we already have an attribute with the same values, the duplicated values |
| * are not added (duplicated values are not allowed) |
| * </p> |
| * <p> |
| * If the value cannot be added, or if the AttributeType is null or invalid, |
| * a LdapException is thrown. |
| * </p> |
| * |
| * @param upId The user provided ID for the added AttributeType |
| * @param attributeType The attribute Type. |
| * @param values The list of binary values to add. It can be empty. |
| * @throws LdapException If the attribute does not exist |
| */ |
| void add( String upId, MutableAttributeTypeImpl attributeType, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Add an attribute (represented by its AttributeType and some String values) into an |
| * entry. Set the User Provider ID at the same time |
| * </p> |
| * <p> |
| * If we already have an attribute with the same values, the duplicated values |
| * are not added (duplicated values are not allowed) |
| * </p> |
| * <p> |
| * If the value cannot be added, or if the AttributeType is null or invalid, |
| * a LdapException is thrown. |
| * </p> |
| * |
| * @param upId The user provided ID for the added AttributeType |
| * @param attributeType The attribute Type. |
| * @param values The list of binary values to add. It can be empty. |
| * @throws LdapException If the attribute does not exist |
| */ |
| void add( String upId, MutableAttributeTypeImpl attributeType, String... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Add an attribute (represented by its AttributeType and some values) into an |
| * entry. Set the User Provider ID at the same time |
| * </p> |
| * <p> |
| * If we already have an attribute with the same values, nothing is done |
| * (duplicated values are not allowed) |
| * </p> |
| * <p> |
| * If the value cannot be added, or if the AttributeType is null or invalid, |
| * a LdapException is thrown. |
| * </p> |
| * |
| * @param upId The user provided ID for the added AttributeType |
| * @param attributeType The attribute Type. |
| * @param values The list of values to add. It can be empty. |
| * @throws LdapException If the attribute does not exist |
| */ |
| void add( String upId, MutableAttributeTypeImpl attributeType, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * Add some String values to the current Entry. |
| * |
| * @param upId The user provided ID of the attribute we want to add |
| * some values to |
| * @param values The list of String values to add |
| * @throws LdapException If we can't add any of the values |
| */ |
| void add( String upId, String... values ) throws LdapException; |
| |
| |
| /** |
| * Add some binary values to the current Entry. |
| * |
| * @param upId The user provided ID of the attribute we want to add |
| * some values to |
| * @param values The list of binary values to add |
| * @throws LdapException If we can't add any of the values |
| */ |
| void add( String upId, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * Add some Values to the current Entry. |
| * |
| * @param upId The user provided ID of the attribute we want to add |
| * some values to |
| * @param values The list of Values to add |
| * @throws LdapException If we can't add any of the values |
| */ |
| void add( String upId, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places attributes in the attribute collection. |
| * </p> |
| * <p>If there is already an attribute with the same ID as any of the |
| * new attributes, the old ones are removed from the collection and |
| * are returned by this method. If there was no attribute with the |
| * same ID the return value is <code>null</code>. |
| *</p> |
| * |
| * @param attributes the attributes to be put |
| * @return the old attributes with the same OID, if exist; otherwise |
| * <code>null</code> |
| * @exception LdapException if the operation fails |
| */ |
| List<EntryAttribute> put( EntryAttribute... attributes ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places a new attribute with the supplied AttributeType and binary values |
| * into the attribute collection. |
| * </p> |
| * <p> |
| * If there is already an attribute with the same AttributeType, the old |
| * one is removed from the collection and is returned by this method. |
| * </p> |
| * <p> |
| * This method provides a mechanism to put an attribute with a |
| * <code>null</code> value: the value may be <code>null</code>. |
| * |
| * @param attributeType the type of the new attribute to be put |
| * @param values the binary values of the new attribute to be put |
| * @return the old attribute with the same identifier, if exists; otherwise |
| * <code>null</code> |
| * @throws org.apache.directory.shared.ldap.model.exception.LdapException if there are failures |
| */ |
| EntryAttribute put( MutableAttributeTypeImpl attributeType, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places a new attribute with the supplied AttributeType and String values |
| * into the attribute collection. |
| * </p> |
| * <p> |
| * If there is already an attribute with the same AttributeType, the old |
| * one is removed from the collection and is returned by this method. |
| * </p> |
| * <p> |
| * This method provides a mechanism to put an attribute with a |
| * <code>null</code> value: the value may be <code>null</code>. |
| * |
| * @param attributeType the type of the new attribute to be put |
| * @param values the String values of the new attribute to be put |
| * @return the old attribute with the same identifier, if exists; otherwise |
| * <code>null</code> |
| * @throws org.apache.directory.shared.ldap.model.exception.LdapException if there are failures |
| */ |
| EntryAttribute put( MutableAttributeTypeImpl attributeType, String... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places a new attribute with the supplied AttributeType and some values |
| * into the attribute collection. |
| * </p> |
| * <p> |
| * If there is already an attribute with the same AttributeType, the old |
| * one is removed from the collection and is returned by this method. |
| * </p> |
| * <p> |
| * This method provides a mechanism to put an attribute with a |
| * <code>null</code> value: the value may be <code>null</code>. |
| * |
| * @param attributeType the type of the new attribute to be put |
| * @param values the values of the new attribute to be put |
| * @return the old attribute with the same identifier, if exists; otherwise |
| * <code>null</code> |
| * @throws LdapException if there are failures |
| */ |
| EntryAttribute put( MutableAttributeTypeImpl attributeType, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places a new attribute with the supplied AttributeType and some binary values |
| * into the attribute collection. |
| * </p> |
| * <p> |
| * The given User provided ID will be used for this new AttributeEntry. |
| * </p> |
| * <p> |
| * If there is already an attribute with the same AttributeType, the old |
| * one is removed from the collection and is returned by this method. |
| * </p> |
| * <p> |
| * This method provides a mechanism to put an attribute with a |
| * <code>null</code> value: the value may be <code>null</code>. |
| * |
| * @param upId The User Provided ID to be stored into the AttributeEntry |
| * @param values the binary values of the new attribute to be put |
| * @return the old attribute with the same identifier, if exists; otherwise |
| * <code>null</code> |
| * @throws LdapException if there are failures. |
| */ |
| EntryAttribute put( String upId, MutableAttributeTypeImpl attributeType, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places a new attribute with the supplied AttributeType and some String values |
| * into the attribute collection. |
| * </p> |
| * <p> |
| * The given User provided ID will be used for this new AttributeEntry. |
| * </p> |
| * <p> |
| * If there is already an attribute with the same AttributeType, the old |
| * one is removed from the collection and is returned by this method. |
| * </p> |
| * <p> |
| * This method provides a mechanism to put an attribute with a |
| * <code>null</code> value: the value may be <code>null</code>. |
| * |
| * @param upId The User Provided ID to be stored into the AttributeEntry |
| * @param attributeType the type of the new attribute to be put |
| * @param values the String values of the new attribute to be put |
| * @return the old attribute with the same identifier, if exists; otherwise |
| * <code>null</code> |
| * @throws org.apache.directory.shared.ldap.model.exception.LdapException if there are failures. |
| */ |
| EntryAttribute put( String upId, MutableAttributeTypeImpl attributeType, String... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Places a new attribute with the supplied AttributeType and some values |
| * into the attribute collection. |
| * </p> |
| * <p> |
| * The given User provided ID will be used for this new AttributeEntry. |
| * </p> |
| * <p> |
| * If there is already an attribute with the same AttributeType, the old |
| * one is removed from the collection and is returned by this method. |
| * </p> |
| * <p> |
| * This method provides a mechanism to put an attribute with a |
| * <code>null</code> value: the value may be <code>null</code>. |
| * |
| * @param upId The User Provided ID to be stored into the AttributeEntry |
| * @param attributeType the type of the new attribute to be put |
| * @param values the values of the new attribute to be put |
| * @return the old attribute with the same identifier, if exists; otherwise |
| * <code>null</code> |
| * @throws LdapException if there are failures. |
| */ |
| EntryAttribute put( String upId, MutableAttributeTypeImpl attributeType, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Put an attribute (represented by its ID and some binary values) into an entry. |
| * </p> |
| * <p> |
| * If the attribute already exists, the previous attribute will be |
| * replaced and returned. |
| * </p> |
| * |
| * @param upId The attribute ID |
| * @param values The list of binary values to put. It can be empty. |
| * @return The replaced attribute |
| */ |
| EntryAttribute put( String upId, byte[]... values ); |
| |
| |
| /** |
| * <p> |
| * Put an attribute (represented by its ID and some String values) into an entry. |
| * </p> |
| * <p> |
| * If the attribute already exists, the previous attribute will be |
| * replaced and returned. |
| * </p> |
| * |
| * @param upId The attribute ID |
| * @param values The list of String values to put. It can be empty. |
| * @return The replaced attribute |
| */ |
| EntryAttribute put( String upId, String... values ); |
| |
| |
| /** |
| * <p> |
| * Put an attribute (represented by its ID and some values) into an entry. |
| * </p> |
| * <p> |
| * If the attribute already exists, the previous attribute will be |
| * replaced and returned. |
| * </p> |
| * |
| * @param upId The attribute ID |
| * @param values The list of values to put. It can be empty. |
| * @return The replaced attribute |
| */ |
| EntryAttribute put( String upId, Value<?>... values ); |
| |
| |
| /** |
| * <p> |
| * Removes the specified binary values from an attribute. |
| * </p> |
| * <p> |
| * If at least one value is removed, this method returns <code>true</code>. |
| * </p> |
| * <p> |
| * If there is no more value after having removed the values, the attribute |
| * will be removed too. |
| * </p> |
| * <p> |
| * If the attribute does not exist, nothing is done and the method returns |
| * <code>false</code> |
| * </p> |
| * |
| * @param attributeType The attribute type |
| * @param values the values to be removed |
| * @return <code>true</code> if at least a value is removed, <code>false</code> |
| * if not all the values have been removed or if the attribute does not exist. |
| */ |
| boolean remove( MutableAttributeTypeImpl attributeType, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Removes the specified String values from an attribute. |
| * </p> |
| * <p> |
| * If at least one value is removed, this method returns <code>true</code>. |
| * </p> |
| * <p> |
| * If there is no more value after having removed the values, the attribute |
| * will be removed too. |
| * </p> |
| * <p> |
| * If the attribute does not exist, nothing is done and the method returns |
| * <code>false</code> |
| * </p> |
| * |
| * @param attributeType The attribute type |
| * @param values the values to be removed |
| * @return <code>true</code> if at least a value is removed, <code>false</code> |
| * if not all the values have been removed or if the attribute does not exist. |
| */ |
| boolean remove( MutableAttributeTypeImpl attributeType, String... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Removes the specified values from an attribute. |
| * </p> |
| * <p> |
| * If at least one value is removed, this method returns <code>true</code>. |
| * </p> |
| * <p> |
| * If there is no more value after having removed the values, the attribute |
| * will be removed too. |
| * </p> |
| * <p> |
| * If the attribute does not exist, nothing is done and the method returns |
| * <code>false</code> |
| * </p> |
| * |
| * @param attributeType The attribute type |
| * @param values the values to be removed |
| * @return <code>true</code> if at least a value is removed, <code>false</code> |
| * if not all the values have been removed or if the attribute does not exist. |
| */ |
| boolean remove( MutableAttributeTypeImpl attributeType, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * Removes the specified attributes. The removed attributes are |
| * returned by this method. If there were no attribute the return value |
| * is <code>null</code>. |
| * |
| * @param attributes the attributes to be removed |
| * @return the removed attribute, if exists; otherwise <code>null</code> |
| */ |
| List<EntryAttribute> remove( EntryAttribute... attributes ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Removes the attribute with the specified AttributeTypes. |
| * </p> |
| * <p> |
| * The removed attribute are returned by this method. |
| * </p> |
| * <p> |
| * If there is no attribute with the specified AttributeTypes, |
| * the return value is <code>null</code>. |
| * </p> |
| * |
| * @param attributes the AttributeTypes to be removed |
| * @return the removed attributes, if any, as a list; otherwise <code>null</code> |
| */ |
| List<EntryAttribute> removeAttributes( MutableAttributeTypeImpl... attributes ); |
| |
| |
| /** |
| * <p> |
| * Removes the specified binary values from an attribute. |
| * </p> |
| * <p> |
| * If at least one value is removed, this method returns <code>true</code>. |
| * </p> |
| * <p> |
| * If there is no more value after having removed the values, the attribute |
| * will be removed too. |
| * </p> |
| * <p> |
| * If the attribute does not exist, nothing is done and the method returns |
| * <code>false</code> |
| * </p> |
| * |
| * @param upId The attribute ID |
| * @param values the attributes to be removed |
| * @return <code>true</code> if at least a value is removed, <code>false</code> |
| * if not all the values have been removed or if the attribute does not exist. |
| */ |
| boolean remove( String upId, byte[]... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Removes the specified String values from an attribute. |
| * </p> |
| * <p> |
| * If at least one value is removed, this method returns <code>true</code>. |
| * </p> |
| * <p> |
| * If there is no more value after havong removed the values, the attribute |
| * will be removed too. |
| * </p> |
| * <p> |
| * If the attribute does not exist, nothing is done and the method returns |
| * <code>false</code> |
| * </p> |
| * |
| * @param upId The attribute ID |
| * @param values the attributes to be removed |
| * @return <code>true</code> if at least a value is removed, <code>false</code> |
| * if no values have been removed or if the attribute does not exist. |
| */ |
| boolean remove( String upId, String... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Removes the specified values from an attribute. |
| * </p> |
| * <p> |
| * If at least one value is removed, this method returns <code>true</code>. |
| * </p> |
| * <p> |
| * If there is no more value after having removed the values, the attribute |
| * will be removed too. |
| * </p> |
| * <p> |
| * If the attribute does not exist, nothing is done and the method returns |
| * <code>false</code> |
| * </p> |
| * |
| * @param upId The attribute ID |
| * @param values the attributes to be removed |
| * @return <code>true</code> if at least a value is removed, <code>false</code> |
| * if not all the values have been removed or if the attribute does not exist. |
| * @throws LdapException if the attribute does not exists |
| */ |
| boolean remove( String upId, Value<?>... values ) throws LdapException; |
| |
| |
| /** |
| * <p> |
| * Removes the attribute with the specified alias. |
| * </p> |
| * <p> |
| * The removed attribute are returned by this method. |
| * </p> |
| * <p> |
| * If there is no attribute with the specified alias, |
| * the return value is <code>null</code>. |
| * </p> |
| * |
| * @param attributes an aliased name of the attribute to be removed |
| * @return the removed attributes, if any, as a list; otherwise <code>null</code> |
| */ |
| List<EntryAttribute> removeAttributes( String... attributes ); |
| |
| |
| // ----------------------------------------------------------------------- |
| // Container (contains/get/put/remove) Methods |
| // ----------------------------------------------------------------------- |
| /** |
| * Checks that the current entry contain an a attribute type given its ID. |
| * |
| * @param upId the attribute we are looking for |
| * @return true if this entry contains the attribute type |
| * @throws LdapException if the attribute does not exists |
| */ |
| boolean contains( String upId ) throws LdapException; |
| |
| |
| /** |
| * Checks if an entry contains an attribute with some given binary values. |
| * |
| * @param attributeType The Attribute we are looking for. |
| * @param values The searched values. |
| * @return <code>true</code> if all the values are found within the attribute, |
| * <code>false</code> otherwise, or if the attributes does not exist. |
| */ |
| boolean contains( MutableAttributeTypeImpl attributeType, byte[]... values ); |
| |
| |
| /** |
| * Checks if an entry contains an attribute with some given String values. |
| * |
| * @param attributeType The Attribute we are looking for. |
| * @param values The searched values. |
| * @return <code>true</code> if all the values are found within the attribute, |
| * <code>false</code> otherwise, or if the attributes does not exist. |
| */ |
| boolean contains( MutableAttributeTypeImpl attributeType, String... values ); |
| |
| |
| /** |
| * Checks if an entry contains an attribute with some given binary values. |
| * |
| * @param attributeType The Attribute we are looking for. |
| * @param values The searched values. |
| * @return <code>true</code> if all the values are found within the attribute, |
| * <code>false</code> otherwise, or if the attributes does not exist. |
| */ |
| boolean contains( MutableAttributeTypeImpl attributeType, Value<?>... values ); |
| |
| |
| /** |
| * Checks if an entry contains a specific AttributeType. |
| * |
| * @param attributeType The AttributeType to look for. |
| * @return <code>true</code> if the attribute is found within the entry. |
| */ |
| boolean containsAttribute( MutableAttributeTypeImpl attributeType ); |
| |
| |
| /** |
| * <p> |
| * Checks if an entry contains a list of attributes. |
| * </p> |
| * <p> |
| * If the list is null or empty, this method will return <code>true</code> |
| * if the entry has no attribute, <code>false</code> otherwise. |
| * </p> |
| * |
| * @param attributes The Attributes to look for |
| * @return <code>true</code> if all the attributes are found within |
| * the entry, <code>false</code> if at least one of them is not present. |
| * @throws LdapException If the attribute does not exist |
| */ |
| boolean contains( EntryAttribute... attributes ) throws LdapException; |
| |
| |
| /** |
| * Checks if an entry contains an attribute with some binary values. |
| * |
| * @param upId The Attribute we are looking for. |
| * @param values The searched values. |
| * @return <code>true</code> if all the values are found within the attribute, |
| * false if at least one value is not present or if the ID is not valid. |
| */ |
| boolean contains( String upId, byte[]... values ); |
| |
| |
| /** |
| * Checks if an entry contains an attribute with some String values. |
| * |
| * @param upId The Attribute we are looking for. |
| * @param values The searched values. |
| * @return <code>true</code> if all the values are found within the attribute, |
| * false if at least one value is not present or if the ID is not valid. |
| */ |
| boolean contains( String upId, String... values ); |
| |
| |
| /** |
| * Checks if an entry contains an attribute with some values. |
| * |
| * @param upId The Attribute we are looking for. |
| * @param values The searched values. |
| * @return <code>true</code> if all the values are found within the attribute, |
| * false if at least one value is not present or if the ID is not valid. |
| */ |
| boolean contains( String upId, Value<?>... values ); |
| |
| |
| /** |
| * Checks if an entry contains some specific attributes. |
| * |
| * @param attributes The Attributes to look for. |
| * @return <code>true</code> if the attributes are all found within the entry. |
| */ |
| boolean containsAttribute( String... attributes ); |
| |
| |
| /** |
| * Returns the number of attributes. |
| * |
| * @return the number of attributes |
| */ |
| int size(); |
| } |