View Javadoc

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  }