KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nextapp > echo2 > app > list > DefaultListModel


1 /*
2  * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3  * Copyright (C) 2002-2005 NextApp, Inc.
4  *
5  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * Alternatively, the contents of this file may be used under the terms of
18  * either the GNU General Public License Version 2 or later (the "GPL"), or
19  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20  * in which case the provisions of the GPL or the LGPL are applicable instead
21  * of those above. If you wish to allow use of your version of this file only
22  * under the terms of either the GPL or the LGPL, and not to allow others to
23  * use your version of this file under the terms of the MPL, indicate your
24  * decision by deleting the provisions above and replace them with the notice
25  * and other provisions required by the GPL or the LGPL. If you do not delete
26  * the provisions above, a recipient may use your version of this file under
27  * the terms of any one of the MPL, the GPL or the LGPL.
28  */

29
30 package nextapp.echo2.app.list;
31
32 import java.util.ArrayList JavaDoc;
33 import java.util.List JavaDoc;
34
35 /**
36  * Default <code>ListModel</code> implementation.
37  */

38 public class DefaultListModel extends AbstractListModel {
39
40     private List JavaDoc items = new ArrayList JavaDoc();
41     
42     /**
43      * Creates a new <code>DefaultSelectListModel</code> with the given
44      * content.
45      */

46     public DefaultListModel() {
47         super();
48     }
49     
50     /**
51      * Creates a new <code>DefaultSelectListModel</code> containing the
52      * specified items
53      *
54      * @param itemArray the initial items
55      */

56     public DefaultListModel(Object JavaDoc[] itemArray) {
57         this();
58         
59         for (int i = 0; i < itemArray.length; ++i) {
60             add(itemArray[i]);
61         }
62     }
63     
64     /**
65      * Adds an item at the end of the model.
66      *
67      * @param item the item to add
68      */

69     public void add(Object JavaDoc item) {
70         items.add(item);
71         int index = items.size() - 1;
72         fireIntervalAdded(index, index);
73     }
74     
75     /**
76      * Inserts an item at the specified index.
77      *
78      * @param item the item
79      * @param index the index
80      */

81     public void add(int index, Object JavaDoc item) {
82         items.add(index, item);
83         fireIntervalAdded(index, index);
84     }
85     
86     /**
87      * Returns the item at the specified index in the list.
88      *
89      * @param index
90      * @return the item
91      */

92     public Object JavaDoc get(int index) {
93         return items.get(index);
94     }
95     
96     /**
97      * Returns the index of the specified item.
98      *
99      * @param item the item
100      * @return the index
101      */

102     public int indexOf(Object JavaDoc item) {
103         return items.indexOf(item);
104     }
105     
106     /**
107      * Removes the item at the specified index from the model.
108      *
109      * @param index the index
110      */

111     public void remove(int index) {
112         items.remove(index);
113         fireIntervalRemoved(index, index);
114     }
115
116     /**
117      * Removes the specified item from the model.
118      *
119      * @param item the item
120      */

121     public void remove(Object JavaDoc item) {
122         int index = items.indexOf(item);
123         items.remove(item);
124         fireIntervalRemoved(index, index);
125     }
126     
127     /**
128      * Removes all items from the model.
129      */

130     public void removeAll() {
131         int size = items.size();
132         if (size > 0) {
133             items.clear();
134             fireIntervalRemoved(0, size - 1);
135         }
136     }
137
138     /**
139      * Returns the length of the list.
140      *
141      * @return the length
142      */

143     public int size() {
144         return items.size();
145     }
146 }
147
Popular Tags