Package net.shibboleth.idp.attribute
Class IdPAttribute
java.lang.Object
net.shibboleth.idp.attribute.IdPAttribute
- All Implemented Interfaces:
Cloneable
,Comparable<IdPAttribute>
- Direct Known Subclasses:
IdPRequestedAttribute
@NotThreadSafe public class IdPAttribute extends Object implements Comparable<IdPAttribute>, Cloneable
Each attribute represents one piece of information about a user and has associated encoders used to turn that
information in to protocol-specific formats.
Instances of
IdPAttribute
are compared using their IDs. That is, two attributes are considered the same if
they have the same ID, regardless of whether their display names, descriptions, values, or encoders are the same.-
Field Summary
Fields Modifier and Type Field Description private Map<Locale,String>
displayDescriptions
Localized human readable descriptions of attribute.private Map<Locale,String>
displayNames
Localized human intelligible attribute names.private static Function<Map.Entry<Locale,String>,Map.Entry<Locale,String>>
filterEntry
Helper Function for map manipulation.private String
id
ID of this attribute.private static org.slf4j.Logger
LOG
Logger - static.private static Predicate<String>
SPACE_CONTAINING
Value for testing illegal name.private List<IdPAttributeValue>
values
Values for this attribute. -
Constructor Summary
Constructors Constructor Description IdPAttribute(String attributeId)
Constructor. -
Method Summary
Modifier and Type Method Description private Map<Locale,String>
checkedNamesFrom(Map<Locale,String> inputMap)
Process input tosetDisplayNames(Map)
and {setDisplayDescriptions(Map)
to strip out null input, null keys, and null values.IdPAttribute
clone()
Clones an attribute.int
compareTo(IdPAttribute other)
boolean
equals(Object obj)
Map<Locale,String>
getDisplayDescriptions()
Gets the localized human readable description of attribute.Map<Locale,String>
getDisplayNames()
Gets the localized human readable name of the attribute.String
getId()
Gets the unique ID of the attribute.List<IdPAttributeValue>
getValues()
Get the unmodifiable ordered collection of values of the attribute.int
hashCode()
static boolean
isDeprecatedId(String id)
Centralized method to police deprecated Identifiers.static boolean
isInvalidId(String id)
Centralized method to police invalid Identifiers.void
setDisplayDescriptions(Map<Locale,String> newDescriptions)
Replaces the existing display descriptions for this attribute with the given ones.void
setDisplayNames(Map<Locale,String> newNames)
Replaces the existing display names for this attribute with the given ones.void
setValues(Collection<IdPAttributeValue> newValues)
Replaces the existing values for this attribute with the given values.String
toString()
-
Field Details
-
SPACE_CONTAINING
Value for testing illegal name. -
LOG
@Nonnull private static final org.slf4j.Logger LOGLogger - static. -
filterEntry
Helper Function for map manipulation. -
id
ID of this attribute. -
displayNames
Localized human intelligible attribute names. -
displayDescriptions
Localized human readable descriptions of attribute. -
values
Values for this attribute.
-
-
Constructor Details
-
IdPAttribute
Constructor.- Parameters:
attributeId
- unique identifier of the attribute
-
-
Method Details
-
isDeprecatedId
Centralized method to police deprecated Identifiers.- Parameters:
id
- what to test- Returns:
- whether the name is currently deprecated.
-
isInvalidId
Centralized method to police invalid Identifiers.- Parameters:
id
- what to test- Returns:
- whether the name is disallowed.
-
getId
Gets the unique ID of the attribute. This ID need not be related to any protocol-specific attribute identifiers.- Returns:
- unique ID of the attribute
-
getDisplayNames
Gets the localized human readable name of the attribute.- Returns:
- human readable name of the attribute
-
checkedNamesFrom
@Nonnull @Unmodifiable private final Map<Locale,String> checkedNamesFrom(@Nonnull @NonnullElements Map<Locale,String> inputMap)Process input tosetDisplayNames(Map)
and {setDisplayDescriptions(Map)
to strip out null input, null keys, and null values.- Parameters:
inputMap
- the input map.- Returns:
- the unmodifiable, non null-containing output.
-
setDisplayNames
Replaces the existing display names for this attribute with the given ones.- Parameters:
newNames
- the new names for this attribute
-
getDisplayDescriptions
Gets the localized human readable description of attribute.- Returns:
- human readable description of attribute
-
setDisplayDescriptions
Replaces the existing display descriptions for this attribute with the given ones.- Parameters:
newDescriptions
- the new descriptions for this attribute
-
getValues
Get the unmodifiable ordered collection of values of the attribute.- Returns:
- values of the attribute
-
setValues
Replaces the existing values for this attribute with the given values.- Parameters:
newValues
- the new values for this attribute
-
compareTo
- Specified by:
compareTo
in interfaceComparable<IdPAttribute>
-
clone
Clones an attribute. The clone will contains defensive copies of this objects display descriptions and names, encoders, and values. The elements of each collection, however, are not themselves cloned.- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
hashCode
public int hashCode() -
equals
-
toString
-