Class AttributeUtil


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

      • getStringValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a string.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getCharacterValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a character.
        java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a GuardedByteArray.
        java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a GuardedString.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getAsStringValue

        public static java.lang.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:
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getByteValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a byte.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • getByteArrayValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a byte array.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • getIntegerValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not an integer.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getLongValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a long.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getFloatValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a float.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • getDateValue

        public static java.util.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:
        java.lang.ClassCastException - if the object in the attribute is not a long.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getDoubleValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not a double.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued)..
      • getBigDecimalValue

        public static java.math.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:
        java.lang.ClassCastException - if the object in the attribute is not a big decimal.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getBigIntegerValue

        public static java.math.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:
        java.lang.ClassCastException - if the object in the attribute is not a big integer.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
        Since:
        1.4
      • getBooleanValue

        public static java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not an Boolean.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getMapValue

        public static java.util.Map<java.lang.String,​java.lang.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:
        java.lang.ClassCastException - if the object in the attribute is not an Map.
        java.lang.IllegalArgumentException - if the attribute is a multi-valued (rather than single-valued).
      • getSingleValue

        public static java.lang.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 java.util.Map<java.lang.String,​Attribute> toMap​(java.util.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:
        java.lang.NullPointerException - if the parameter attributes is null.
      • getUidAttribute

        public static Uid getUidAttribute​(java.util.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 java.util.Set<Attribute> getBasicAttributes​(java.util.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 java.util.Set<Attribute> getSpecialAttributes​(java.util.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 java.util.Set<Attribute> filterUid​(java.util.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 java.util.Set<Attribute> addUid​(java.util.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​(java.lang.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 java.lang.String createSpecialName​(java.lang.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​(java.lang.String name1,
                                         java.lang.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​(java.util.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.
      • find

        public static Attribute find​(java.lang.String name,
                                     java.util.Set<Attribute> attrs)
        Find the Attribute of the given name in the Set.
        Parameters:
        name - Attribute's name to search for.
        attrs - Set of attribute to search.
        Returns:
        Attribute with the specified otherwise null.
      • getPasswordValue

        public static GuardedString getPasswordValue​(java.util.Set<Attribute> attrs)
        Get the password value from the provided set of Attributes.
      • isEnabled

        public static java.lang.Boolean isEnabled​(ConnectorObject obj)
        Determine if the ConnectorObject is enable. By getting the value of the OperationalAttributes.ENABLE_NAME.
        Parameters:
        obj - ConnectorObject object to inspect.
        Returns:
        null if the attribute does not exist otherwise to value of the Attribute.
        Throws:
        java.lang.IllegalStateException - if the object does not contain attribute in question.
        java.lang.NullPointerException - if the parameter 'obj' is null.
      • getPasswordExpirationDate

        public static java.util.Date getPasswordExpirationDate​(ConnectorObject obj)
        Retrieve the password expiration date from the ConnectorObject.
        Parameters:
        obj - ConnectorObject object to inspect.
        Returns:
        null if the Attribute does not exist otherwise the value of the Attribute.
        Throws:
        java.lang.IllegalStateException - if the object does not contain attribute in question.
        java.lang.NullPointerException - if the parameter 'obj' is null.
      • getPasswordExpired

        public static java.lang.Boolean getPasswordExpired​(java.util.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 java.lang.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 java.util.Date getEnableDate​(java.util.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.