Class AttributesAccessor


  • public class AttributesAccessor
    extends Object
    Attributes Accessor convenience methods for accessing attributes. This class wraps a set of attributes to make lookup faster than the AttributeUtil.find(String, Set) method, since that method must re-create the map each time.
    Author:
    Warren Strange
    • Constructor Detail

      • AttributesAccessor

        public AttributesAccessor​(Set<Attribute> attrs)
    • Method Detail

      • find

        public Attribute find​(String name)
        Find the named attribute.
        Parameters:
        name - the attribute name to search for
        Returns:
        the Attribute, or null if not found.
      • getName

        public Name getName()
        Get the Name attribute from the set of attributes.
        Returns:
        the Name attribute in the set.
      • getUid

        public Uid getUid()
        Get the Uid attribute from the set of attributes.
        Returns:
        the Uid attribute in the set.
      • getEnabled

        public boolean getEnabled​(boolean defaultTo)
        Return the enabled status of the account. If the ENABLE operational attribute is present, it's value takes precedence over the current value. If it is missing, the currentlyEnabled status is returned instead.
        Parameters:
        defaultTo - the default state if enable is not found.
        Returns:
        true if the account is enabled, false otherwise
      • getPassword

        public GuardedString getPassword()
        Get the password as a GuardeString.
        Returns:
        the password as a guarded String
      • findList

        public List<Object> findList​(String name)
        Return a list of attributes.
        Parameters:
        name - name of attribute to search for.
        Returns:
        The List (generic object) if it exists otherwise null.
      • findStringList

        public List<String> findStringList​(String name)
        Return the multivalued attribute as a list of strings. This will throw a ClassCastException if the underlying attribute list is not of type String.
        Parameters:
        name - the name of the attribute to search for
        Returns:
        a List of String values for the attribute
      • listAttributeNames

        public Set<String> listAttributeNames()
        Get the name of attributes this Accessor was created with.
        Returns:
        new Case Insensitive ReadOnly Set of attribute name the access has access to.
        Since:
        1.4
      • hasAttribute

        public boolean hasAttribute​(String name)
        Determines if the set as the attribute specified.
        Parameters:
        name - attribute name
        Returns:
        true if the named attribute exists, false otherwise
      • findString

        public String findString​(String name)
        Get the string value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the long value.
        Returns:
        null if the value is null otherwise the long value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not an long.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • findCharacter

        public Character findCharacter​(String name)
        Get the character value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the character value.
        Returns:
        null if the value is null otherwise the character value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a character.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findInteger

        public Integer findInteger​(String name)
        Get the integer value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the long value.
        Returns:
        null if the value is null otherwise the long value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not an long.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • findLong

        public Long findLong​(String name)
        Get the long value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the long value.
        Returns:
        null if the value is null otherwise the long value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not an long.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • findDate

        public Date findDate​(String name)
        Get the date value from the specified (single-valued) attribute that contains a long.
        Parameters:
        name - Attribute from which to retrieve the date value.
        Returns:
        null if the value is null otherwise the date value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not an long.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • findDouble

        public Double findDouble​(String name)
        Get the double value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the double value.
        Returns:
        null if the value is null otherwise the double value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a double.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued)..
      • findFloat

        public Float findFloat​(String name)
        Get the float value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the float value.
        Returns:
        null if the value is null otherwise the float value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a float.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findBigDecimal

        public BigDecimal findBigDecimal​(String name)
        Get the big decimal value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the big decimal value.
        Returns:
        null if the value is null otherwise the big decimal value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not an big decimal.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • findBoolean

        public Boolean findBoolean​(String name)
        Get the boolean value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the boolean value.
        Returns:
        null if the value is null otherwise the boolean value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not an Boolean.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • findByte

        public Byte findByte​(String name)
        Get the byte value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the byte value.
        Returns:
        null if the value is null otherwise the byte value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a byte.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findByteArray

        public Byte[] findByteArray​(String name)
        Get the byte array value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the byte array value.
        Returns:
        null if the value is null otherwise the byte array value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a byte.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findBigInteger

        public BigInteger findBigInteger​(String name)
        Get the big integer value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the big integer value.
        Returns:
        null if the value is null otherwise the big integer value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a big integer.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findGuardedByteArray

        public GuardedByteArray findGuardedByteArray​(String name)
        Get the guarded byte array value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the guarded byte array value.
        Returns:
        null if the value is null otherwise the guarded byte array value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a guarded byte array.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findGuardedString

        public GuardedString findGuardedString​(String name)
        Get the guarded string value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the guarded string value.
        Returns:
        null if the value is null otherwise the guarded string value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a guarded string.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • findMap

        public Map<String,​Object> findMap​(String name)
        Get the map value from the specified (single-valued) attribute.
        Parameters:
        name - Attribute from which to retrieve the map value.
        Returns:
        null if the value is null otherwise the map value for the attribute.
        Throws:
        ClassCastException - if the object in the attribute is not a map.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4