Class AttributeUtil
- java.lang.Object
-
- org.identityconnectors.framework.common.objects.AttributeUtil
-
public final class AttributeUtil extends java.lang.ObjectUtility methods to retrieve values from instances ofAttribute.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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.static java.lang.StringcreateSpecialName(java.lang.String name)Create a special name from the specified name.static java.util.Set<Attribute>filterUid(java.util.Set<Attribute> attrs)Returns a mutable copy of the original set with the uid attribute removed.static Attributefind(java.lang.String name, java.util.Set<Attribute> attrs)Find theAttributeof the given name in theSet.static java.lang.StringgetAsStringValue(Attribute attr)Get the string value from the specified (single-valued) attribute.static java.util.Set<Attribute>getBasicAttributes(java.util.Set<Attribute> attrs)Filter out any special attribute from the specified set.static java.math.BigDecimalgetBigDecimalValue(Attribute attr)Get the big decimal value from the specified (single-valued) attribute.static java.math.BigIntegergetBigIntegerValue(Attribute attr)Get the big integer value from the specified (single-valued) attribute.static java.lang.BooleangetBooleanValue(Attribute attr)Get the boolean value from the specified (single-valued) attribute.static java.lang.Byte[]getByteArrayValue(Attribute attr)Get the byte array value from the specified (single-valued) attribute.static java.lang.BytegetByteValue(Attribute attr)Get the byte value from the specified (single-valued) attribute.static java.lang.CharactergetCharacterValue(Attribute attr)Get the character value from the specified (single-valued) attribute.static GuardedStringgetCurrentPasswordValue(java.util.Set<Attribute> attrs)Get the current password value from the provided set ofAttributes.static java.util.DategetDateValue(Attribute attr)Get the date value from the specified (single-valued) attribute that contains a long.static java.lang.DoublegetDoubleValue(Attribute attr)Get the double value from the specified (single-valued) attribute.static java.util.DategetEnableDate(java.util.Set<Attribute> attrs)Get the enable date from the set of attributes.static java.lang.FloatgetFloatValue(Attribute attr)Get the float value from the specified (single-valued) attribute.static GuardedByteArraygetGuardedByteArrayValue(Attribute attr)Get theGuardedByteArrayvalue from the specified (single-valued) attribute.static GuardedStringgetGuardedStringValue(Attribute attr)Get theGuardedStringvalue from the specified (single-valued) attribute.static java.lang.IntegergetIntegerValue(Attribute attr)Get the integer value from the specified (single-valued) attribute.static java.lang.LonggetLongValue(Attribute attr)Get the long value from the specified (single-valued) attribute.static java.util.Map<java.lang.String,java.lang.Object>getMapValue(Attribute attr)Get the map value from the specified (single-valued) attribute.static NamegetNameFromAttributes(java.util.Set<Attribute> attrs)Get theNameattribute from the specified set of attributes.static java.util.DategetPasswordExpirationDate(ConnectorObject obj)Retrieve the password expiration date from theConnectorObject.static java.lang.BooleangetPasswordExpired(java.util.Set<Attribute> attrs)Get the password expired attribute from aCollectionofAttributes.static GuardedStringgetPasswordValue(java.util.Set<Attribute> attrs)Get the password value from the provided set ofAttributes.static java.lang.ObjectgetSingleValue(Attribute attr)Get theObjectvalue from the specified (single-valued) attribute.static java.util.Set<Attribute>getSpecialAttributes(java.util.Set<Attribute> attrs)Filter out any basic attributes from the specified set, leaving only special attributes.static java.lang.StringgetStringValue(Attribute attr)Get the string value from the specified (single-valued) attribute.static UidgetUidAttribute(java.util.Set<Attribute> attrs)Get theUidfrom the specified set of attributes.static java.lang.BooleanisEnabled(ConnectorObject obj)Determine if theConnectorObjectis enable.static java.lang.BooleanisLockedOut(ConnectorObject obj)Determine if theConnectorObjectis locked out.static java.lang.BooleanisPasswordExpired(ConnectorObject obj)Determine if the password is expired for this object.static booleanisSpecial(Attribute attr)Determines whether the specified attribute is a special attribute.static booleanisSpecial(AttributeInfo attr)Determines whether the specified attribute info is for a special attribute.static booleanisSpecialName(java.lang.String name)Determines whether the specified attribute name is special in the sense ofcreateSpecialName(java.lang.String).static booleannamesEqual(java.lang.String name1, java.lang.String name2)Compares two attribute names for equality.static java.util.Map<java.lang.String,Attribute>toMap(java.util.Collection<? extends Attribute> attributes)
-
-
-
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 theGuardedByteArrayvalue 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 theGuardedStringvalue 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 anBoolean.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 anMap.java.lang.IllegalArgumentException- if the attribute is a multi-valued (rather than single-valued).
-
getSingleValue
public static java.lang.Object getSingleValue(Attribute attr)
Get theObjectvalue from the specified (single-valued) attribute.- Returns:
nullif the attribute's list of values isnullor empty.
-
toMap
public static java.util.Map<java.lang.String,Attribute> toMap(java.util.Collection<? extends Attribute> attributes)
Transform aCollectionofAttributeinstances into aMap. The key to each element in the map is the name of anAttribute. The value of each element in the map is theAttributeinstance 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 theUidfrom the specified set of attributes.
-
getBasicAttributes
public static java.util.Set<Attribute> getBasicAttributes(java.util.Set<Attribute> attrs)
Filter out any special attribute from the specified set. Special attributes includeName,Uid, andOperationalAttributes.- Parameters:
attrs- set ofAttributes 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 includeName,Uid, andOperationalAttributes.- Parameters:
attrs- set ofAttributes 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.
-
isSpecial
public static boolean isSpecial(Attribute attr)
Determines whether the specified attribute is a special attribute. Special attributes includeUid,ObjectClassandOperationalAttributes.- Parameters:
attr-Attributeto test for against.- Returns:
- true if the attribute value is a
Uid,ObjectClassor one of theOperationalAttributes. - Throws:
java.lang.NullPointerException- if the attribute parameter is null.
-
isSpecial
public static boolean isSpecial(AttributeInfo attr)
Determines whether the specified attribute info is for a special attribute. Special attributes includeUid,ObjectClassandOperationalAttributes.- Parameters:
attr-AttributeInfoto test for against.- Returns:
- true if the attribute value is a
Uid,ObjectClassor one of theOperationalAttributes. - Throws:
java.lang.NullPointerException- if the attribute parameter is null.
-
isSpecialName
public static boolean isSpecialName(java.lang.String name)
Determines whether the specified attribute name is special in the sense ofcreateSpecialName(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 asUid,ObjectClassor one of theOperationalAttributes.
-
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 theNameattribute from the specified set of attributes.- Parameters:
attrs- set of attributes to search against.- Returns:
- the
Nameattribute it if exsist otherwisenull.
-
find
public static Attribute find(java.lang.String name, java.util.Set<Attribute> attrs)
Find theAttributeof the given name in theSet.
-
getPasswordValue
public static GuardedString getPasswordValue(java.util.Set<Attribute> attrs)
Get the password value from the provided set ofAttributes.
-
getCurrentPasswordValue
public static GuardedString getCurrentPasswordValue(java.util.Set<Attribute> attrs)
Get the current password value from the provided set ofAttributes.- Parameters:
attrs- Set ofAttributes that may contain the current passwordOperationalAttributes.CURRENT_PASSWORD_NAMEAttribute.- Returns:
nullif it does not exist in theSetelse the value.
-
isLockedOut
public static java.lang.Boolean isLockedOut(ConnectorObject obj)
Determine if theConnectorObjectis locked out. By getting the value of theOperationalAttributes.LOCK_OUT_NAME.- Parameters:
obj-ConnectorObjectobject to inspect.- Returns:
nullif the attribute does not exist otherwise to value of theAttribute.- Throws:
java.lang.NullPointerException- if the parameter 'obj' isnull.
-
isEnabled
public static java.lang.Boolean isEnabled(ConnectorObject obj)
Determine if theConnectorObjectis enable. By getting the value of theOperationalAttributes.ENABLE_NAME.- Parameters:
obj-ConnectorObjectobject to inspect.- Returns:
nullif the attribute does not exist otherwise to value of theAttribute.- Throws:
java.lang.IllegalStateException- if the object does not contain attribute in question.java.lang.NullPointerException- if the parameter 'obj' isnull.
-
getPasswordExpirationDate
public static java.util.Date getPasswordExpirationDate(ConnectorObject obj)
Retrieve the password expiration date from theConnectorObject.- Parameters:
obj-ConnectorObjectobject to inspect.- Returns:
nullif theAttributedoes not exist otherwise the value of theAttribute.- Throws:
java.lang.IllegalStateException- if the object does not contain attribute in question.java.lang.NullPointerException- if the parameter 'obj' isnull.
-
getPasswordExpired
public static java.lang.Boolean getPasswordExpired(java.util.Set<Attribute> attrs)
Get the password expired attribute from aCollectionofAttributes.
-
isPasswordExpired
public static java.lang.Boolean isPasswordExpired(ConnectorObject obj)
Determine if the password is expired for this object.- Parameters:
obj-ConnectorObjectthat should contain a password expired attribute.- Returns:
nullif the attribute does not exist and the value of theAttributeif it does.
-
-