1 /* 2 Copyright (C) 2001-2002 Laurent Martelli <laurent@aopsys.com> 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as 6 published by the Free Software Foundation; either version 2 of the 7 License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, but 10 WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 17 USA */ 18 19 package org.objectweb.jac.aspects.gui; 20 21 import org.objectweb.jac.core.rtti.CollectionItem; 22 23 24 /** 25 * An abstract representation of a collection. */ 26 27 public interface CollectionModel extends Model { 28 /** 29 * Gets the number of rows of this collection. 30 * @return the number of rows 31 */ 32 int getRowCount(); 33 34 /** 35 * Returns the object at the row represented by the given index. 36 * 37 * @param index a row index */ 38 Object getObject(int index); 39 40 /** 41 * Returns the index of an object in the collection 42 * @param object the object whose index to find 43 * @return the index of object, or -1 if the object is not in the 44 * collection 45 */ 46 int indexOf(Object object); 47 48 /** 49 * Get the collection item represented by the model 50 * @return a collection item 51 */ 52 CollectionItem getCollection(); 53 } 54