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 }