Class AttributeUtil


  • public final class AttributeUtil
    extends Object
    Utility methods to retrieve values from instances of Attribute.
    • Method Detail

      • getStringValue

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

        public static Character getCharacterValue​(Attribute attr)
        Get the character value from the specified (single-valued) attribute.
        Parameters:
        attr - 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
      • getGuardedByteArrayValue

        public static GuardedByteArray getGuardedByteArrayValue​(Attribute attr)
        Get the GuardedByteArray value from the specified (single-valued) attribute.
        Parameters:
        attr - 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 GuardedByteArray.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • getGuardedStringValue

        public static GuardedString getGuardedStringValue​(Attribute attr)
        Get the GuardedString value from the specified (single-valued) attribute.
        Parameters:
        attr - 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 GuardedString.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getAsStringValue

        public static String getAsStringValue​(Attribute attr)
        Get the string value from the specified (single-valued) attribute.
        Parameters:
        attr - Attribute from which to retrieve the string value.
        Returns:
        null if the value is null otherwise the string value for the attribute.
        Throws:
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getByteValue

        public static Byte getByteValue​(Attribute attr)
        Get the byte value from the specified (single-valued) attribute.
        Parameters:
        attr - 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
      • getByteArrayValue

        public static Byte[] getByteArrayValue​(Attribute attr)
        Get the byte array value from the specified (single-valued) attribute.
        Parameters:
        attr - 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 array.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • getIntegerValue

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

        public static Long getLongValue​(Attribute attr)
        Get the long value from the specified (single-valued) attribute.
        Parameters:
        attr - 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 a long.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getFloatValue

        public static Float getFloatValue​(Attribute attr)
        Get the float value from the specified (single-valued) attribute.
        Parameters:
        attr - 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
      • getDateValue

        public static Date getDateValue​(Attribute attr)
        Get the date value from the specified (single-valued) attribute that contains a long.
        Parameters:
        attr - 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 a long.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getDoubleValue

        public static Double getDoubleValue​(Attribute attr)
        Get the double value from the specified (single-valued) attribute.
        Parameters:
        attr - 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)..
      • getBigDecimalValue

        public static BigDecimal getBigDecimalValue​(Attribute attr)
        Get the big decimal value from the specified (single-valued) attribute.
        Parameters:
        attr - 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 a big decimal.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getBigIntegerValue

        public static BigInteger getBigIntegerValue​(Attribute attr)
        Get the big integer value from the specified (single-valued) attribute.
        Parameters:
        attr - 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
      • getBooleanValue

        public static Boolean getBooleanValue​(Attribute attr)
        Get the boolean value from the specified (single-valued) attribute.
        Parameters:
        attr - 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).
      • getMapValue

        public static Map<String,​Object> getMapValue​(Attribute attr)
        Get the map value from the specified (single-valued) attribute.
        Parameters:
        attr - 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 an Map.
        IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getSingleValue

        public static Object getSingleValue​(Attribute attr)
        Get the Object value from the specified (single-valued) attribute.
        Returns:
        null if the attribute's list of values is null or empty.
      • toMap

        public static Map<String,​Attribute> toMap​(Collection<? extends Attribute> attributes)
        Transform a Collection of Attribute instances into a Map. The key to each element in the map is the name of an Attribute. The value of each element in the map is the Attribute instance with that name.
        Parameters:
        attributes - set of attribute to transform to a map.
        Returns:
        a map of string and attribute.
        Throws:
        NullPointerException - if the parameter attributes is null.
      • getUidAttribute

        public static Uid getUidAttribute​(Set<Attribute> attrs)
        Get the Uid from the specified set of attributes.
        Parameters:
        attrs - set of Attributes that may contain a Uid.
        Returns:
        null if the set does not contain a Uid object the first one found.
      • getBasicAttributes

        public static Set<Attribute> getBasicAttributes​(Set<Attribute> attrs)
        Filter out any special attribute from the specified set. Special attributes include Name, Uid, and OperationalAttributes.
        Parameters:
        attrs - set of Attributes to filter out the operational and default attributes.
        Returns:
        a set that only contains plain attributes or empty.
      • getSpecialAttributes

        public static Set<Attribute> getSpecialAttributes​(Set<Attribute> attrs)
        Filter out any basic attributes from the specified set, leaving only special attributes. Special attributes include Name, Uid, and OperationalAttributes.
        Parameters:
        attrs - set of Attributes to filter out the basic attributes
        Returns:
        a set that only contains special attributes or an empty set if there are none.
      • filterUid

        public static Set<Attribute> filterUid​(Set<Attribute> attrs)
        Returns a mutable copy of the original set with the uid attribute removed.
        Parameters:
        attrs - The original set. Must not be null.
        Returns:
        A mutable copy of the original set with the uid attribute removed.
      • addUid

        public static Set<Attribute> addUid​(Set<Attribute> attrs,
                                            Uid uid)
        Returns a mutable copy of the original set with the uid attribute added.
        Parameters:
        attrs - The original set. Must not be null.
        uid - The uid. Must not be null.
        Returns:
        A mutable copy of the original set with the uid attribute added.
      • isSpecialName

        public static boolean isSpecialName​(String name)
        Determines whether the specified attribute name is special in the sense of createSpecialName(java.lang.String).
        Parameters:
        name - the attribute name to test against.
        Returns:
        true if the attribute name is special.
      • createSpecialName

        public static String createSpecialName​(String name)
        Create a special name from the specified name. Add the __ string as both prefix and suffix. This indicates that an attribute name identifies a "special attribute" such as Uid, ObjectClass or one of the OperationalAttributes.
      • namesEqual

        public static boolean namesEqual​(String name1,
                                         String name2)
        Compares two attribute names for equality.
        Parameters:
        name1 - the first attribute name.
        name2 - the second attribute name.
        Returns:
        true if the two attribute names are equal.
      • getNameFromAttributes

        public static Name getNameFromAttributes​(Set<Attribute> attrs)
        Get the Name attribute from the specified set of attributes.
        Parameters:
        attrs - set of attributes to search against.
        Returns:
        the Name attribute it if exsist otherwise null.
      • getPasswordExpired

        public static Boolean getPasswordExpired​(Set<Attribute> attrs)
        Get the password expired attribute from a Collection of Attributes.
        Parameters:
        attrs - set of attribute to find the expired password Attribute.
        Returns:
        null if the attribute does not exist and the value of the Attribute if it does.
      • isPasswordExpired

        public static Boolean isPasswordExpired​(ConnectorObject obj)
        Determine if the password is expired for this object.
        Parameters:
        obj - ConnectorObject that should contain a password expired attribute.
        Returns:
        null if the attribute does not exist and the value of the Attribute if it does.
      • getEnableDate

        public static Date getEnableDate​(Set<Attribute> attrs)
        Get the enable date from the set of attributes.
        Parameters:
        attrs - set of attribute to find the enable date Attribute.
        Returns:
        null if the attribute does not exist and the value of the Attribute if it does.