1 package org.weda.model; 2 3 import java.util.List; 4 import org.weda.action.ActionContainer; 5 import org.weda.property.PropertyDescriptor; 6 7 /**Модель представления данных в виде таблицы. 8 * 9 * @author tim 10 */ 11 public interface TableModel<T extends TableModelData> extends ActionContainer { 12 public enum Mode{ 13 VIEW, 14 CLOSED 15 }; 16 /**Метод возвращает имя модели данных 17 */ 18 public String getName(); 19 /**Метод инициплизирует модель данных. 20 */ 21 public void init() throws TableModelException; 22 /**Метод возвращает текущее состояние модели. 23 */ 24 public Mode getMode() throws TableModelException;; 25 /**Метод переводит модель состояние {@link Mode#VIEW}. Т.е. становятся 26 * доступными данные модели. 27 * @see #close() 28 * @see #getData() 29 */ 30 public void open() throws TableModelException; 31 /**Метод переводит модель в состояние {@link Mode#CLOSED}. 32 * Т.е. данные модели становятся недоступными. 33 * @see #open() 34 * @see #getData() 35 */ 36 public void close() throws TableModelException; 37 /**Метод возвращает описание колонок модели. 38 */ 39 public List<PropertyDescriptor> getColumnDescriptors(); 40 /**Метод возвращает количество колонок в таблице. 41 */ 42 public int getColumnCount() throws TableModelException; 43 /**Метод добавляет слушателя изменений в модели. 44 */ 45 public void addListener(TableModelListener listener); 46 /**Метод возвращает данные модели. 47 * @Throws TableModelException если модель находится в состояние 48 * {@link Mode#CLOSED} 49 */ 50 public T getData() throws TableModelException; 51 }