public abstract class AbstractAttribute extends AbstractSet<ByteString> implements Attribute
Attribute
interface, to minimize the effort required to implement this interface.Modifier | Constructor and Description |
---|---|
protected |
AbstractAttribute()
Sole constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract boolean |
add(ByteString value)
Adds
value to this attribute if it is not already present
(optional operation). |
boolean |
add(Object... values)
Adds all of the provided attribute values to this attribute if they are
not already present (optional operation).
|
boolean |
addAll(Collection<? extends ByteString> values)
Adds all of the attribute values contained in
values to this
attribute if they are not already present (optional operation). |
<T> boolean |
addAll(Collection<T> values,
Collection<? super T> duplicateValues)
Adds all of the attribute values contained in
values to this
attribute if they are not already present (optional operation). |
abstract boolean |
contains(Object value)
Returns
true if this attribute contains value . |
boolean |
containsAll(Collection<?> values)
Returns
true if this attribute contains all of the attribute
values contained in values . |
boolean |
equals(Object object)
Returns
true if object is an attribute which is equal to
this attribute. |
ByteString |
firstValue()
Returns the first attribute value in this attribute.
|
String |
firstValueAsString()
Returns the first attribute value in this attribute decoded as a UTF-8
string.
|
abstract AttributeDescription |
getAttributeDescription()
Returns the attribute description of this attribute, which includes its
attribute type and any options.
|
String |
getAttributeDescriptionAsString()
Returns the string representation of the attribute description of this
attribute, which includes its attribute type and any options.
|
int |
hashCode()
Returns the hash code for this attribute.
|
abstract Iterator<ByteString> |
iterator()
Returns an iterator over the attribute values in this attribute.
|
AttributeParser |
parse()
Returns a parser for this attribute which can be used for decoding values
as different types of object.
|
abstract boolean |
remove(Object value)
Removes
value from this attribute if it is present (optional
operation). |
boolean |
removeAll(Collection<?> values)
Removes all of the attribute values contained in
values from this
attribute if they are present (optional operation). |
<T> boolean |
removeAll(Collection<T> values,
Collection<? super T> missingValues)
Removes all of the attribute values contained in
values from this
attribute if they are present (optional operation). |
boolean |
retainAll(Collection<?> values)
Retains only the attribute values in this attribute which are contained
in
values (optional operation). |
<T> boolean |
retainAll(Collection<T> values,
Collection<? super T> missingValues)
Retains only the attribute values in this attribute which are contained
in
values (optional operation). |
abstract int |
size()
Returns the number of attribute values in this attribute.
|
ByteString[] |
toArray()
Returns an array containing all of the attribute values contained in this
attribute.
|
String |
toString()
Returns a string representation of this attribute.
|
clear, isEmpty, toArray
protected AbstractAttribute()
public abstract boolean add(ByteString value)
Attribute
value
to this attribute if it is not already present
(optional operation). If this attribute already contains value
,
the call leaves the attribute unchanged and returns false
.add
in interface Collection<ByteString>
add
in interface Set<ByteString>
add
in interface Attribute
add
in class AbstractCollection<ByteString>
value
- The attribute value to be added to this attribute.true
if this attribute changed as a result of this call.public boolean add(Object... values)
Attribute
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
public boolean addAll(Collection<? extends ByteString> values)
Attribute
values
to this
attribute if they are not already present (optional operation).
An invocation of this method is equivalent to:
attribute.addAll(values, null);
addAll
in interface Collection<ByteString>
addAll
in interface Set<ByteString>
addAll
in interface Attribute
addAll
in class AbstractCollection<ByteString>
values
- The attribute values to be added to this attribute.true
if this attribute changed as a result of this call.public <T> boolean addAll(Collection<T> values, Collection<? super T> duplicateValues)
Attribute
values
to this
attribute if they are not already present (optional operation). Any
attribute values which are already present will be added to
duplicateValues
if specified.
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
addAll
in interface Attribute
T
- The type of the attribute value objects being added.values
- The attribute values to be added to this attribute.duplicateValues
- A collection into which duplicate values will be added, or
null
if duplicate values should not be saved.true
if this attribute changed as a result of this call.public abstract boolean contains(Object value)
Attribute
true
if this attribute contains value
.
If value
is not an instance of ByteString
then it will be
converted using the ByteString.valueOfObject(Object)
method.
contains
in interface Collection<ByteString>
contains
in interface Set<ByteString>
contains
in interface Attribute
contains
in class AbstractCollection<ByteString>
value
- The attribute value whose presence in this attribute is to be
tested.true
if this attribute contains value
, or
false
if not.public boolean containsAll(Collection<?> values)
Attribute
true
if this attribute contains all of the attribute
values contained in values
.
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
containsAll
in interface Collection<ByteString>
containsAll
in interface Set<ByteString>
containsAll
in interface Attribute
containsAll
in class AbstractCollection<ByteString>
values
- The attribute values whose presence in this attribute is to be
tested.true
if this attribute contains all of the attribute
values contained in values
, or false
if not.public boolean equals(Object object)
Attribute
true
if object
is an attribute which is equal to
this attribute. Two attributes are considered equal if their attribute
descriptions are equal, they both have the same number of attribute
values, and every attribute value contained in the first attribute is
also contained in the second attribute.equals
in interface Collection<ByteString>
equals
in interface Set<ByteString>
equals
in interface Attribute
equals
in class AbstractSet<ByteString>
object
- The object to be tested for equality with this attribute.true
if object
is an attribute which is equal to
this attribute, or false
if not.public ByteString firstValue()
Attribute
firstValue
in interface Attribute
public String firstValueAsString()
Attribute
firstValueAsString
in interface Attribute
public abstract AttributeDescription getAttributeDescription()
Attribute
getAttributeDescription
in interface Attribute
public String getAttributeDescriptionAsString()
Attribute
getAttributeDescriptionAsString
in interface Attribute
public int hashCode()
Attribute
hashCode
in interface Collection<ByteString>
hashCode
in interface Set<ByteString>
hashCode
in interface Attribute
hashCode
in class AbstractSet<ByteString>
public AttributeParser parse()
Attribute
public abstract Iterator<ByteString> iterator()
Attribute
iterator
in interface Iterable<ByteString>
iterator
in interface Collection<ByteString>
iterator
in interface Set<ByteString>
iterator
in interface Attribute
iterator
in class AbstractCollection<ByteString>
public abstract boolean remove(Object value)
Attribute
value
from this attribute if it is present (optional
operation). If this attribute does not contain value
, the call
leaves the attribute unchanged and returns false
.
If value
is not an instance of ByteString
then it will be
converted using the ByteString.valueOfObject(Object)
method.
remove
in interface Collection<ByteString>
remove
in interface Set<ByteString>
remove
in interface Attribute
remove
in class AbstractCollection<ByteString>
value
- The attribute value to be removed from this attribute.true
if this attribute changed as a result of this call.public boolean removeAll(Collection<?> values)
Attribute
values
from this
attribute if they are present (optional operation).
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
An invocation of this method is equivalent to:
attribute.removeAll(values, null);
removeAll
in interface Collection<ByteString>
removeAll
in interface Set<ByteString>
removeAll
in interface Attribute
removeAll
in class AbstractSet<ByteString>
values
- The attribute values to be removed from this attribute.true
if this attribute changed as a result of this call.public <T> boolean removeAll(Collection<T> values, Collection<? super T> missingValues)
Attribute
values
from this
attribute if they are present (optional operation). Any attribute values
which are not already present will be added to missingValues
if
specified.
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
removeAll
in interface Attribute
T
- The type of the attribute value objects being removed.values
- The attribute values to be removed from this attribute.missingValues
- A collection into which missing values will be added, or
null
if missing values should not be saved.true
if this attribute changed as a result of this call.public boolean retainAll(Collection<?> values)
Attribute
values
(optional operation).
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
An invocation of this method is equivalent to:
attribute.retainAll(values, null);
retainAll
in interface Collection<ByteString>
retainAll
in interface Set<ByteString>
retainAll
in interface Attribute
retainAll
in class AbstractCollection<ByteString>
values
- The attribute values to be retained in this attribute.true
if this attribute changed as a result of this call.public <T> boolean retainAll(Collection<T> values, Collection<? super T> missingValues)
Attribute
values
(optional operation). Any attribute values which are
not already present will be added to missingValues
if specified.
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
retainAll
in interface Attribute
T
- The type of the attribute value objects being retained.values
- The attribute values to be retained in this attribute.missingValues
- A collection into which missing values will be added, or
null
if missing values should not be saved.true
if this attribute changed as a result of this call.public abstract int size()
Attribute
size
in interface Collection<ByteString>
size
in interface Set<ByteString>
size
in interface Attribute
size
in class AbstractCollection<ByteString>
public ByteString[] toArray()
Attribute
If this attribute makes any guarantees as to what order its attribute values are returned by its iterator, this method must return the attribute values in the same order.
The returned array will be "safe" in that no references to it are maintained by this attribute. The caller is thus free to modify the returned array.
toArray
in interface Collection<ByteString>
toArray
in interface Set<ByteString>
toArray
in interface Attribute
toArray
in class AbstractCollection<ByteString>
public String toString()
Attribute
toString
in interface Attribute
toString
in class AbstractCollection<ByteString>
Copyright 2010-2017 ForgeRock AS.