# Class RoleList

java.lang.Object
java.util.AbstractCollection<Object>
java.util.AbstractList<Object>
java.util.ArrayList<Object>
javax.management.relation.RoleList

All Implemented Interfaces:
  `Serializable, Cloneable, Iterable<Object>, Collection<Object>, List<Object>, RandomAccess, SequencedCollection<Object>`

public class RoleList extends ArrayList<Object>
A RoleList represents a list of roles (Role objects). It is used as parameter when creating a relation, and when trying to set several roles in a relation (via 'setRoles()' method). It is returned as part of a RoleResult, to provide roles successfully retrieved.

It is not permitted to add objects to a `RoleList` that are not instances of `Role`. This will produce an `IllegalArgumentException` when calling methods in this class, or when using `listIterator` and `add` or `set`.

Since:
  1.5
See Also:
  - Serialized Form

## Field Summary

### Fields declared in class AbstractList

`modCount`
Modifier and Type
Field
Description
`protected int`
`modCount`
The number of times this list has been structurally modified.

## Constructor Summary

Constructors
Constructor
Description
`RoleList()`
Constructs an empty RoleList.
`RoleList(int initialCapacity)`
Constructs an empty RoleList with the initial capacity specified.
`RoleList(List<Role> list)`
Constructs a `RoleList` containing the elements of the `List` specified, in the order in which they are returned by the `List`'s iterator.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(int index, Object element)`
Inserts the specified element at the specified position in this list.
`void`
`add(int index, Role role)`
Inserts the role specified as an element at the position specified.
`boolean`
`add(Object o)`
Appends the specified element to the end of this list.
`void`
`add(Role role)`
Adds the Role specified as the last element of the list.
`boolean`
`addAll(int index, Collection<?> c)`
Inserts all of the elements in the specified collection into this list, starting at the specified position.
`boolean`
`addAll(int index, RoleList roleList)`
Inserts all of the elements in the RoleList specified into this list, starting at the specified position, in the order in which they are returned by the Iterator of the RoleList specified.
`boolean`
`addAll(Collection<?> c)`
Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's Iterator.
`boolean`
`addAll(RoleList roleList)`
Appends all the elements in the RoleList specified to the end of the list, in the order in which they are returned by the Iterator of the RoleList specified.
`List<Role>`
`asList()`
Return a view of this list as a `List<Role>`.
`Object`
`set(int index, Object element)`
Replaces the element at the specified position in this list with the specified element.
`void`
`set(int index, Role role)`
Sets the element at the position specified to be the role specified.

### Methods declared in class ArrayList

`addFirst, addLast, clear, clone, contains, ensureCapacity, forEach, get, getFirst, getLast, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeIf, removeLast, removeRange, retainAll, size, spliterator, subList, toArray, toArray, trimToSize`
Modifier and Type
Method
Description
`void`
`addFirst(Object element)`
Adds an element as the first element of this collection (optional operation).
`void`
`addLast(Object element)`
Adds an element as the last element of this collection (optional operation).
`void`
`clear()`
Removes all of the elements from this list.
`Object`
`clone()`
Returns a shallow copy of this `ArrayList` instance.
`boolean`
`contains(Object o)`
Returns `true` if this list contains the specified element.
`void`
`ensureCapacity(int minCapacity)`
Increases the capacity of this `ArrayList` instance, if necessary, to ensure that it can hold at least the number of elements specified by the minimum capacity argument.
`void`
`forEach(Consumer<? super Object> action)`
Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
`Object`
`get(int index)`
Returns the element at the specified position in this list.
`Object`
`getFirst()`
Gets the first element of this collection.
`Object`
`getLast()`
Gets the last element of this collection.
`int`
`indexOf(Object o)`
Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
`boolean`
`isEmpty()`
Returns `true` if this list contains no elements.
`Iterator<Object>`
`iterator()`
Returns an iterator over the elements in this list in proper sequence.
`int`
`lastIndexOf(Object o)`
Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
`ListIterator<Object>`
`listIterator()`
Returns a list iterator over the elements in this list (in proper sequence).
`ListIterator<Object>`
`listIterator(int index)`
Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.
`Object`
`remove(int index)`
Removes the element at the specified position in this list.
`boolean`
`remove(Object o)`
Removes the first occurrence of the specified element from this list, if it is present.
`boolean`
`removeAll(Collection<?> c)`
Removes from this list all of its elements that are contained in the specified collection.
`Object`
`removeFirst()`
Removes and returns the first element of this collection (optional operation).
`boolean`
`removeIf(Predicate<? super Object> filter)`
Removes all of the elements of this collection that satisfy the given predicate (optional operation).
`Object`
`removeLast()`
Removes and returns the last element of this collection (optional operation).
`protected void`
`removeRange(int fromIndex, int toIndex)`
Removes from this list all of the elements whose index is between `fromIndex`, inclusive, and `toIndex`, exclusive.
`boolean`
`retainAll(Collection<?> c)`
Retains only the elements in this list that are contained in the specified collection.
`int`
`size()`
Returns the number of elements in this list.
`Spliterator<Object>`
`spliterator()`
Creates a late-binding and fail-fast `Spliterator` over the elements in this list.
`List<Object>`
`subList(int fromIndex, int toIndex)`
Returns a view of the portion of this list between the specified `fromIndex`, inclusive, and `toIndex`, exclusive.
`Object[]`
`toArray()`
Returns an array containing all of the elements in this list in proper sequence (from first to last element).
`<T> T[]`
`toArray(T[] a)`
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.
`void`
`trimToSize()`
Trims the capacity of this `ArrayList` instance to be the list's current size.

### Methods declared in class AbstractList

`equals, hashCode`
Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
Compares the specified object with this list for equality.
`int`
`hashCode()`
Returns the hash code value for this list.

### Methods declared in class AbstractCollection

`containsAll, toString`
Modifier and Type
Method
Description
`boolean`
`containsAll(Collection<?> c)`
Returns `true` if this collection contains all of the elements in the specified collection.
`String`
`toString()`
Returns a string representation of this collection.

### Methods declared in class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`
Modifier and Type
Method
Description
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

### Methods declared in interface Collection

`parallelStream, stream, toArray`
Modifier and Type
Method
Description
`default Stream<Object>`
`parallelStream()`
Returns a possibly parallel `Stream` with this collection as its source.
`default Stream<Object>`
`stream()`
Returns a sequential `Stream` with this collection as its source.
`default <T> T[]`
`toArray(IntFunction<T[]> generator)`
Returns an array containing all of the elements in this collection, using the provided `generator` function to allocate the returned array.

### Methods declared in interface List

`containsAll, replaceAll, reversed, sort`
Modifier and Type
Method
Description
`boolean`
`containsAll(Collection<?> c)`
Returns `true` if this list contains all of the elements of the specified collection.
`default void`
`replaceAll(UnaryOperator<Object> operator)`
Replaces each element of this list with the result of applying the operator to that element (optional operation).
`default List<Object>`
`reversed()`
Returns a reverse-ordered view of this collection.
`default void`
`sort(Comparator<? super Object> c)`
Sorts this list according to the order induced by the specified `Comparator` (optional operation).

## Constructor Details

### RoleList

public RoleList()
Constructs an empty RoleList.

### RoleList

public RoleList(int initialCapacity)
Constructs an empty RoleList with the initial capacity specified.

Parameters:
  `initialCapacity` - initial capacity

### RoleList

public RoleList(List<Role> list) throws IllegalArgumentException
Constructs a `RoleList` containing the elements of the `List` specified, in the order in which they are returned by the `List`'s iterator. The `RoleList` instance has an initial capacity of 110% of the size of the `List` specified.

Parameters:
  `list` - the `List` that defines the initial contents of the new `RoleList`.
Throws:
  `IllegalArgumentException` - if the `list` parameter is `null` or if the `list` parameter contains any non-Role objects.
See Also:
  - `ArrayList(java.util.Collection)`

## Method Details

### asList

public List<Role> asList()
Return a view of this list as a `List<Role>`. Changes to the returned value are reflected by changes to the original `RoleList` and vice versa.

Returns:
  a `List<Role>` whose contents reflect the contents of this `RoleList`.
Throws:
  `IllegalArgumentException` - if this `RoleList` contains an element that is not a `Role`.
Since:
  1.6

### add

public void add(Role role) throws IllegalArgumentException
Adds the Role specified as the last element of the list.

Parameters:
  `role` - the role to be added.
Throws:
  `IllegalArgumentException` - if the role is null.

### add

public void add(int index, Role role) throws IllegalArgumentException, IndexOutOfBoundsException
Inserts the role specified as an element at the position specified. Elements with an index greater than or equal to the current position are shifted up.

Parameters:
  `index` - The position in the list where the new Role object is to be inserted.
  `role` - The Role object to be inserted.
Throws:
  `IllegalArgumentException` - if the role is null.
  `IndexOutOfBoundsException` - if accessing with an index outside of the list.

### set

public void set(int index, Role role) throws IllegalArgumentException, IndexOutOfBoundsException
Sets the element at the position specified to be the role specified. The previous element at that position is discarded.

Parameters:
  `index` - The position specified.
  `role` - The value to which the role element should be set.
Throws:
  `IllegalArgumentException` - if the role is null.
  `IndexOutOfBoundsException` - if accessing with an index outside of the list.

### addAll

public boolean addAll(RoleList roleList) throws IndexOutOfBoundsException
Appends all the elements in the RoleList specified to the end of the list, in the order in which they are returned by the Iterator of the RoleList specified.

Parameters:
  `roleList` - Elements to be inserted into the list (can be null)
Returns:
  true if this list changed as a result of the call.
Throws:
  `IndexOutOfBoundsException` - if accessing with an index outside of the list.
See Also:
  - `ArrayList.addAll(Collection)`

### addAll

public boolean addAll(int index, RoleList roleList) throws IllegalArgumentException, IndexOutOfBoundsException
Inserts all of the elements in the RoleList specified into this list, starting at the specified position, in the order in which they are returned by the Iterator of the RoleList specified.

Parameters:
  `index` - Position at which to insert the first element from the RoleList specified.
  `roleList` - Elements to be inserted into the list.
Returns:
  true if this list changed as a result of the call.
Throws:
  `IllegalArgumentException` - if the role is null.
  `IndexOutOfBoundsException` - if accessing with an index outside of the list.
See Also:
  - `ArrayList.addAll(int, Collection)`

### add

public boolean add(Object o)
Appends the specified element to the end of this list.

Specified by:
  `add` in interface `Collection<Object>`
Specified by:
  `add` in interface `List<Object>`
Overrides:
  `add` in class `ArrayList<Object>`
Parameters:
  `o` - element to be appended to this list
Returns:
  `true` (as specified by `Collection.add(E)`)
Throws:
  `IllegalArgumentException` - if `o` is not a `Role`.

### add

public void add(int index, Object element)
Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

Specified by:
  `add` in interface `List<Object>`
Overrides:
  `add` in class `ArrayList<Object>`
Parameters:
  `index` - index at which the specified element is to be inserted
  `element` - element to be inserted
Throws:
  `IllegalArgumentException` - if `element` is not a `Role`.

### addAll

public boolean addAll(Collection<?> c)
Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's Iterator. The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this list, and this list is nonempty.)

Specified by:
  `addAll` in interface `Collection<Object>`
Specified by:
  `addAll` in interface `List<Object>`
Overrides:
  `addAll` in class `ArrayList<Object>`
Parameters:
  `c` - collection containing elements to be added to this list
Returns:
  `true` if this list changed as a result of the call
Throws:
  `IllegalArgumentException` - if `c` contains a member that is not a `Role`.
See Also:
  - `AbstractCollection.add(Object)`

### addAll

public boolean addAll(int index, Collection<?> c)
Inserts all of the elements in the specified collection into this list, starting at the specified position. Shifts the element currently at that position (if any) and any subsequent elements to the right (increases their indices). The new elements will appear in the list in the order that they are returned by the specified collection's iterator.

Specified by:
  `addAll` in interface `List<Object>`
Overrides:
  `addAll` in class `ArrayList<Object>`
Parameters:
  `index` - index at which to insert the first element from the specified collection
  `c` - collection containing elements to be added to this list
Returns:
  `true` if this list changed as a result of the call
Throws:
  `IllegalArgumentException` - if `c` contains a member that is not a `Role`.

### set

public Object set(int index, Object element)
Replaces the element at the specified position in this list with the specified element.

Specified by:
  `set` in interface `List<Object>`
Overrides:
  `set` in class `ArrayList<Object>`
Parameters:
  `index` - index of the element to replace
  `element` - element to be stored at the specified position
Returns:
  the element previously at the specified position
Throws:
  `IllegalArgumentException` - if `element` is not a `Role`.