Class AttributeList

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

public class AttributeList extends ArrayList<Object>

Represents a list of values for attributes of an MBean. See the getAttributes and setAttributes methods of MBeanServer and MBeanServerConnection.

For compatibility reasons, it is possible, though highly discouraged, to add objects to an AttributeList that are not instances of Attribute. However, an AttributeList can be made type-safe, which means that an attempt to add an object that is not an Attribute will produce an IllegalArgumentException. An AttributeList becomes type-safe when the method asList() is called on it.

Since:
1.5
See Also:
  • Constructor Details

    • AttributeList

      public AttributeList()
      Constructs an empty AttributeList.
    • AttributeList

      public AttributeList(int initialCapacity)
      Constructs an empty AttributeList with the initial capacity specified.
      Parameters:
      initialCapacity - the initial capacity of the AttributeList, as specified by ArrayList(int).
    • AttributeList

      public AttributeList(AttributeList list)
      Constructs an AttributeList containing the elements of the AttributeList specified, in the order in which they are returned by the AttributeList's iterator. The AttributeList instance has an initial capacity of 110% of the size of the AttributeList specified.
      Parameters:
      list - the AttributeList that defines the initial contents of the new AttributeList.
      See Also:
    • AttributeList

      public AttributeList(List<Attribute> list)
      Constructs an AttributeList containing the elements of the List specified, in the order in which they are returned by the List's iterator.
      Parameters:
      list - the List that defines the initial contents of the new AttributeList.
      Throws:
      IllegalArgumentException - if the list parameter is null or if the list parameter contains any non-Attribute objects.
      Since:
      1.6
      See Also:
  • Method Details

    • asList

      public List<Attribute> asList()
      Return a view of this list as a List<Attribute>. Changes to the returned value are reflected by changes to the original AttributeList and vice versa.
      Returns:
      a List<Attribute> whose contents reflect the contents of this AttributeList.

      If this method has ever been called on a given AttributeList instance, a subsequent attempt to add an object to that instance which is not an Attribute will fail with an IllegalArgumentException. For compatibility reasons, an AttributeList on which this method has never been called does allow objects other than Attributes to be added.

      Throws:
      IllegalArgumentException - if this AttributeList contains an element that is not an Attribute.
      Since:
      1.6
    • add

      public void add(Attribute object)
      Adds the Attribute specified as the last element of the list.
      Parameters:
      object - The attribute to be added.
    • add

      public void add(int index, Attribute object)
      Inserts the attribute specified as an element at the position specified. Elements with an index greater than or equal to the current position are shifted up. If the index is out of range (index < 0 || index > size()) a RuntimeOperationsException should be raised, wrapping the java.lang.IndexOutOfBoundsException thrown.
      Parameters:
      index - The position in the list where the new Attribute object is to be inserted.
      object - The Attribute object to be inserted.
    • set

      public void set(int index, Attribute object)
      Sets the element at the position specified to be the attribute specified. The previous element at that position is discarded. If the index is out of range (index < 0 || index > size()) a RuntimeOperationsException should be raised, wrapping the java.lang.IndexOutOfBoundsException thrown.
      Parameters:
      index - The position specified.
      object - The value to which the attribute element should be set.
    • addAll

      public boolean addAll(AttributeList list)
      Appends all the elements in the AttributeList specified to the end of the list, in the order in which they are returned by the Iterator of the AttributeList specified.
      Parameters:
      list - Elements to be inserted into the list.
      Returns:
      true if this list changed as a result of the call.
      See Also:
    • addAll

      public boolean addAll(int index, AttributeList list)
      Inserts all of the elements in the AttributeList specified into this list, starting at the specified position, in the order in which they are returned by the Iterator of the AttributeList specified. If the index is out of range (index < 0 || index > size()) a RuntimeOperationsException should be raised, wrapping the java.lang.IndexOutOfBoundsException thrown.
      Parameters:
      index - Position at which to insert the first element from the AttributeList specified.
      list - Elements to be inserted into the list.
      Returns:
      true if this list changed as a result of the call.
      See Also:
    • add

      public boolean add(Object element)
      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:
      element - element to be appended to this list
      Returns:
      true (as specified by Collection.add(E))
      Throws:
      IllegalArgumentException - if this AttributeList is type-safe and element is not an Attribute.
    • 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 this AttributeList is type-safe and element is not an Attribute.
    • 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 this AttributeList is type-safe and c contains an element that is not an Attribute.
      See Also:
    • 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 this AttributeList is type-safe and c contains an element that is not an Attribute.
    • 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 this AttributeList is type-safe and element is not an Attribute.