KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > rice > cs > util > docnavigation > IDocList


1 /*BEGIN_COPYRIGHT_BLOCK
2 *
3 * This file is part of DrJava. Download the current version of this project:
4 * http://sourceforge.net/projects/drjava/ or http://www.drjava.org/
5 *
6 * DrJava Open Source License
7 *
8 * Copyright (C) 2001-2003 JavaPLT group at Rice University (javaplt@rice.edu)
9 * All rights reserved.
10 *
11 * Developed by: Java Programming Languages Team
12 * Rice University
13 * http://www.cs.rice.edu/~javaplt/
14 *
15 * Permission is hereby granted, free of charge, to any person obtaining a
16 * copy of this software and associated documentation files (the "Software"),
17 * to deal with the Software without restriction, including without
18 * limitation the rights to use, copy, modify, merge, publish, distribute,
19 * sublicense, and/or sell copies of the Software, and to permit persons to
20 * whom the Software is furnished to do so, subject to the following
21 * conditions:
22 *
23 * - Redistributions of source code must retain the above copyright
24 * notice, this list of conditions and the following disclaimers.
25 * - Redistributions in binary form must reproduce the above copyright
26 * notice, this list of conditions and the following disclaimers in the
27 * documentation and/or other materials provided with the distribution.
28 * - Neither the names of DrJava, the JavaPLT, Rice University, nor the
29 * names of its contributors may be used to endorse or promote products
30 * derived from this Software without specific prior written permission.
31 * - Products derived from this software may not be called "DrJava" nor
32 * use the term "DrJava" as part of their names without prior written
33 * permission from the JavaPLT group. For permission, write to
34 * javaplt@rice.edu.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
39 * THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
40 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
41 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS WITH THE SOFTWARE.
43 *
44 END_COPYRIGHT_BLOCK*/

45
46 package edu.rice.cs.util.docnavigation;
47
48 //import edu.rice.cs.drjava.model.*;
49
import javax.swing.AbstractListModel JavaDoc;
50 import java.util.*;
51
52 class IDocList<ItemT extends INavigatorItem> extends AbstractListModel JavaDoc {
53     private Vector<ItemT> _docs = new Vector<ItemT>();
54
55     public Enumeration<ItemT> elements() {
56         return _docs.elements();
57     }
58
59     public void clear() { _docs.clear(); }
60
61     public boolean isEmpty() { return _docs.isEmpty(); }
62
63     public ItemT get(int index) {
64         return _docs.get(index);
65     }
66
67     public Object JavaDoc getElementAt(int i) {
68         return _docs.get(i);
69     }
70
71     public int size() { return _docs.size(); }
72     public int getSize() { return size(); }
73
74     public void add(ItemT d) {
75         _docs.addElement(d);
76         fireIntervalAdded(this, size() - 1, size() - 1);
77     }
78
79     /**
80      * Remove and return the INavigatorItem doc (and notify ListDataListeners)
81      * @return the removed INavigatorItem
82      * @exception NoSuchElementException if doc is not present in the DocumentNavigator
83      */

84     public INavigatorItem remove(ItemT doc) {
85         int index = _docs.indexOf(doc);
86         if( index == -1 ) {
87             return null;
88         }
89
90         ItemT ret = _docs.remove(index);
91         fireIntervalRemoved(this, index, index);
92         return ret;
93     }
94 }
95
Popular Tags