@PublicAPI(stability=UNCOMMITTED, mayInstantiate=false, mayExtend=false, mayInvoke=true) public interface Attribute extends Iterable<ByteString>
Attributes are immutable and therefore any attempts to modify them will result in an
UnsupportedOperationException
.
There are two types of attribute: real attributes and virtual attributes. Real attributes can be created using the
AttributeBuilder
class or by using the various static factory methods in the Attributes
class,
whereas virtual attributes are represented using the VirtualAttribute
class. New attribute implementations
can be implemented by either implementing this interface or by extending AbstractAttribute
.
Modifier and Type | Interface and Description |
---|---|
static interface |
Attribute.RemoveOnceSwitchingAttributes
Marks code that can be removed once we are switching from server's to SDK's
Attribute . |
Modifier and Type | Method and Description |
---|---|
ConditionResult |
approximatelyEqualTo(ByteString assertionValue)
Indicates whether this attribute has any value(s) that are approximately equal to the provided value.
|
boolean |
contains(ByteString value)
Indicates whether this attribute contains the specified value.
|
boolean |
containsAll(Collection<?> values)
Indicates whether this attribute contains all the values in the collection.
|
boolean |
equals(Object o)
Indicates whether the provided object is an attribute that is equal to this attribute.
|
AttributeDescription |
getAttributeDescription()
Retrieves the attribute description for this attribute.
|
ConditionResult |
greaterThanOrEqualTo(ByteString assertionValue)
Indicates whether this attribute has any value(s) that are greater than or equal to the provided value.
|
int |
hashCode()
Retrieves the hash code for this attribute.
|
boolean |
isEmpty()
Returns
true if this attribute contains no attribute values. |
boolean |
isReal()
Indicates whether this is a real attribute (persisted) rather than a virtual attribute (dynamically computed).
|
boolean |
isVirtual()
Indicates whether this is a virtual attribute (dynamically computed) rather than a real attribute (persisted).
|
Iterator<ByteString> |
iterator()
Returns an iterator over the attribute values in this attribute.
|
ConditionResult |
lessThanOrEqualTo(ByteString assertionValue)
Indicates whether this attribute has any value(s) that are less than or equal to the provided value.
|
ConditionResult |
matchesEqualityAssertion(ByteString assertionValue)
Indicates whether this attribute matches the specified assertion value.
|
ConditionResult |
matchesSubstring(ByteString subInitial,
List<ByteString> subAny,
ByteString subFinal)
Indicates whether this attribute has any value(s) that match the provided substring.
|
int |
size()
Returns the number of attribute values in this attribute.
|
String |
toString()
Retrieves a one-line string representation of this attribute.
|
void |
toString(StringBuilder buffer)
Appends a one-line string representation of this attribute to the provided buffer.
|
forEach, spliterator
ConditionResult approximatelyEqualTo(ByteString assertionValue)
assertionValue
- The assertion value for which to make the determination.ConditionResult.UNDEFINED
if this attribute does not have an approximate matching rule,
ConditionResult.TRUE
if at least one value is approximately equal to the provided value, or
ConditionResult.FALSE
otherwise.boolean contains(ByteString value)
value
- The value for which to make the determination.true
if this attribute has the specified value, or false
if not.boolean containsAll(Collection<?> values)
values
- The set of values for which to make the determination.true
if this attribute contains all the values in the provided collection, or false
if it
does not contain at least one of them.ConditionResult matchesEqualityAssertion(ByteString assertionValue)
assertionValue
- The assertion value for which to make the determination.true
if this attribute matches the specified assertion value, or false
if not.boolean equals(Object o)
AttributeDescription getAttributeDescription()
ConditionResult greaterThanOrEqualTo(ByteString assertionValue)
assertionValue
- The assertion value for which to make the determination.ConditionResult.UNDEFINED
if this attribute does not have an ordering matching rule,
ConditionResult.TRUE
if at least one value is greater than or equal to the provided assertion
value, or ConditionResult.FALSE
otherwise.int hashCode()
boolean isEmpty()
true
if this attribute contains no attribute values.true
if this attribute contains no attribute values.boolean isReal()
true
if this is a real attribute.boolean isVirtual()
true
if this is a virtual attribute.Iterator<ByteString> iterator()
Iterator.remove()
.iterator
in interface Iterable<ByteString>
ConditionResult lessThanOrEqualTo(ByteString assertionValue)
assertionValue
- The assertion value for which to make the determination.ConditionResult.UNDEFINED
if this attribute does not have an ordering matching rule,
ConditionResult.TRUE
if at least one value is less than or equal to the provided assertion value,
or ConditionResult.FALSE
otherwise.ConditionResult matchesSubstring(ByteString subInitial, List<ByteString> subAny, ByteString subFinal)
subInitial
- The subInitial component to use in the determination.subAny
- The subAny components to use in the determination.subFinal
- The subFinal component to use in the determination.ConditionResult.UNDEFINED
if this attribute does not have a substring matching rule,
ConditionResult.TRUE
if at least one value matches the provided substring, or
ConditionResult.FALSE
otherwise.int size()
String toString()
void toString(StringBuilder buffer)
buffer
- The buffer to which the information should be appended.Copyright 2010-2020 ForgeRock AS.