1 /* 2 * Copyright (c) 2003-2008 by Cosylab d. d. 3 * 4 * This file is part of CosyBeans-Common. 5 * 6 * CosyBeans-Common is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * CosyBeans-Common is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with CosyBeans-Common. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package com.cosylab.gui.components.table; 21 22 /** 23 * <code>TableRow</code> presents a row in a table. 24 * 25 * @author <a href="mailto:igor.kriznar@cosylab.com">Igor Kriznar</a> 26 * @version $Id: TableRow.java,v 1.6 2008-04-22 12:28:40 jbobnar Exp $ 27 * 28 * @since May 3, 2004. 29 */ 30 public interface TableRow 31 { 32 /** 33 * Returns value at column index. 34 * 35 * @param column the column index 36 * 37 * @return value at column index 38 */ 39 public Object getValueAt(int column); 40 41 /** 42 * Returns the number values int this row. 43 * 44 * @return the number values int this row 45 */ 46 public int getValueCount(); 47 48 /** 49 * This method is called when row is added to model. When row is remove 50 * from the model, this method is called with parameter <code>null</code>. 51 * 52 * <p> 53 * Row can call on parent model method 54 * <code>fireRowUpdate(TableRow,int)</code> when want to notify model 55 * listeners (specially the JTable) about data changes. 56 * </p> 57 * 58 * @param model the model to which row was added, or <code>null</code>, 59 * when row is removed form model 60 * 61 * @see TableRowModel#fireRowUpdate(TableRow, int) 62 */ 63 public void setParentModel(TableRowModel model); 64 65 /** 66 * The parent model which contains this row. 67 * 68 * @return the parent model which contains this row. 69 */ 70 public TableRowModel getParentModel(); 71 72 /** 73 * Return <code>true</code> if value at specified column index is editable. 74 * 75 * @param index the column index 76 * 77 * @return <code>true</code> if value at the specified column index is 78 * editable 79 */ 80 public boolean isValueSettable(int index); 81 82 /** 83 * Compares this table row with the specified table row for order. Returns 84 * a negative integer, zero, or a positive integer as this row is less 85 * than, equal to, or greater than the specified row. 86 * 87 * @param row a row, to which it is compared 88 * @param valueIndex the index of value, which is compared in row 89 * 90 * @return negative integer, zero, or a positive integer as this row is 91 * less than, equal to, or greater than the specified row. 92 */ 93 public int compareTo(TableRow row, int valueIndex); 94 } 95 96 /* __oOo__ */