1 // $Id: SameNameListModel.java 165 2009-05-28 21:46:38Z agony $
2 /*
3 * xsAnalyzer - XML schema analyzing tool. Copyright (C) 2008 Michael Engelhardt
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
6 * License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
7 * version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
10 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11 *
12 * You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
13 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 */
15 /**
16 *
17 */
18 package de.mindcrimeilab.xsanalyzer.model;
19
20 import java.util.ArrayList;
21 import java.util.List;
22 import java.util.Map;
23 import java.util.Map.Entry;
24
25 import javax.swing.AbstractListModel;
26 import javax.swing.ListModel;
27 import javax.xml.namespace.QName;
28
29 import org.apache.xerces.xs.XSObjectList;
30
31 /**
32 *
33 * @author Michael Engelhardt<me@mindcrime-ilab.de>
34 * @author $Author: agony $
35 * @version $Revision: 165 $
36 *
37 */
38 public class SameNameListModel extends AbstractListModel implements ListModel {
39
40 /**
41 *
42 */
43 private static final long serialVersionUID = 855640912675932956L;
44
45 private final List<Entry<QName, XSObjectList>> model;
46
47 public SameNameListModel(Map<QName, XSObjectList> map) {
48 model = new ArrayList<Entry<QName, XSObjectList>>(map.entrySet());
49 }
50
51 /*
52 * (non-Javadoc)
53 *
54 * @see javax.swing.ListModel#getElementAt(int)
55 */
56 @Override
57 public Object getElementAt(int index) {
58 return model.get(index);
59 }
60
61 /*
62 * (non-Javadoc)
63 *
64 * @see javax.swing.ListModel#getSize()
65 */
66 @Override
67 public int getSize() {
68 return model.size();
69 }
70
71 }