001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package javax.management;
023:
024: import java.util.ArrayList;
025:
026: /**
027: * A list of a MBean attributes. <p>
028: *
029: * An AttributeList can be used to get and set multiple MBean attributes
030: * in one invocation. <p>
031: *
032: * It is an array list that can only contain
033: * {@link javax.management.Attribute}s <p>
034: *
035: * <b>Note:</b> AttributeLists must be externally synchronized.
036: *
037: * @see javax.management.Attribute
038: *
039: * @author <a href="mailto:Adrian.Brock@HappeningTimes.com">Adrian Brock</a>.
040: * @version $Revision: 57200 $
041: *
042: */
043: public class AttributeList extends ArrayList {
044: // Constants -----------------------------------------------------
045:
046: private static final long serialVersionUID = -4077085769279709076L;
047:
048: // Attributes --------------------------------------------------------
049:
050: // Static --------------------------------------------------------
051:
052: // Constructors --------------------------------------------------
053:
054: /**
055: * Contruct a new empty attribute list.
056: */
057: public AttributeList() {
058: super ();
059: }
060:
061: /**
062: * Contruct a new empty attriute list with an initial capacity.
063: *
064: * @param initialCapacity the initial capacity reserved.
065: */
066: public AttributeList(int initialCapacity) {
067: super (initialCapacity);
068: }
069:
070: /**
071: * Contruct a new attribute from another attribute list.
072: * The order is determined by the ArrayList's iterator.
073: *
074: * @param list the attribute list to copy.
075: */
076: public AttributeList(AttributeList list) {
077: super (list);
078: }
079:
080: // Public --------------------------------------------------------
081:
082: // ArrayList Overrides -------------------------------------------
083:
084: /**
085: * Append an Attribute to the list.
086: *
087: * @param object the attribute to append.
088: */
089: public void add(Attribute object) {
090: super .add(object);
091: }
092:
093: /**
094: * Insert a new Attribute into the list at the specified location.
095: *
096: * @param index the location to insert the attribute.
097: * @param object the attribute to insert.
098: */
099: public void add(int index, Attribute object) {
100: super .add(index, object);
101: }
102:
103: /**
104: * Change the attribute at the specified location.
105: *
106: * @param index the location of he attribute to change.
107: * @param object the new attribute.
108: */
109: public void set(int index, Attribute object) {
110: super .set(index, object);
111: }
112:
113: /**
114: * Append the attributes the passed list to the end of this list.
115: *
116: * @param list the attributes appended.
117: * @return true when the list changes as a result of this operation,
118: * false otherwise.
119: */
120: public boolean addAll(AttributeList list) {
121: return super .addAll(list);
122: }
123:
124: /**
125: * Insert all the attributes in the passed list at the specified
126: * location in this list.
127: *
128: * @param index the location where the attributes are inserted.
129: * @param list the attributes inserted.
130: * @return true when the list changes as a result of this operation,
131: * false otherwise.
132: */
133: public boolean addAll(int index, AttributeList list) {
134: return super .addAll(index, list);
135: }
136:
137: // Implementation ------------------------------------------------
138:
139: // Package protected ---------------------------------------------
140:
141: // Protected -----------------------------------------------------
142:
143: // Private -------------------------------------------------------
144:
145: // Inner classes -------------------------------------------------
146: }
|