/*******************************************************************************
* Copyright (c) 2006-2013, Cloudsmith Inc.
* The code, documentation and other materials contained herein have been
* licensed under the Eclipse Public License - v 1.0 by the copyright holder
* listed above, as the Initial Contributor under such license. The text of
* such license is available at www.eclipse.org.
******************************************************************************/
package org.eclipse.buckminster.ui.general.editor;
import java.util.List;
/**
* Data wrapped for general table editors.
*
* @author Karel Brezina
*/
public interface ITable<T> {
/**
* Adds table modify listener
*
* @param table
* modify listener
*/
public void addTableModifyListener(ITableModifyListener<T> listener);
/**
* Gets row of this data table
*
* @param row
* row number
* @return required row
*/
public T getRow(int row);
/**
* Gets all table rows
*
* @return all rows
*/
public List<T> getRows();
/**
* Read-only data
*
* @return
*/
public boolean isReadOnly();
/**
* Refreshes data table
*/
public void refresh();
/**
* Removes row from this table
*
* @param row
* row number
*/
public void removeRow(int row);
/**
* Removes table modify listener
*
* @param table
* modify listener
*/
public void removeTableModifyListener(ITableModifyListener<T> listener);
}