/* class DefaultListModel * * Copyright (C) 2001 R M Pitman * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package charvax.swing; import java.util.ArrayList; /** * This class implements the Vector API. It actually delegates to an ArrayList. */ public class DefaultListModel extends AbstractListModel implements ListModel { /** Default constructor */ public DefaultListModel() { super(); } /** Returns the value at the specified index. */ public Object getElementAt(int index_) { return _list.get(index_); } /** Returns the length of the list. */ public int getSize() { return _list.size(); } /** Clear the contents of the list. */ public void clear() { int size = _list.size(); _list.clear(); super.fireIntervalRemoved(this, 0, size); } /** Returns true if the specified element is in the list. */ public boolean contains(Object elem_) { return _list.contains(elem_); } /** Inserts the specified object at the specified position in this list. */ public void add(int index_, Object elem_) { _list.add(index_, elem_); super.fireIntervalAdded(this, index_, index_); } /** Add the specified object to the end of the list. */ public void addElement(Object obj_) { _list.add(obj_); super.fireIntervalAdded(this, _list.size(), _list.size()); } /** Deletes the component at the specified index. */ public void removeElementAt(int index_) { _list.remove(index_); super.fireIntervalRemoved(this, index_, index_); } /** Removes all elements from this list and sets its size to zero. */ public void removeAllElements() { int size = _list.size(); _list.clear(); super.fireIntervalRemoved(this, 0, size); } /** Returns the index of the first occurrence of the specified object. */ public int indexOf(Object elem_) { return _list.indexOf(elem_); } // INSTANCE VARIABLES private ArrayList<Object> _list = new ArrayList<Object>(); }