View Javadoc

1   /*
2    * TableModelDataProvider.java
3    *
4    * Created on 15 Май 2006 г., 23:42
5    */
6   
7   package org.weda.model.impl;
8   
9   import java.util.List;
10  import org.weda.model.TableModel;
11  import org.weda.model.TableModelException;
12  import org.weda.data.DataProvider;
13  import org.weda.data.DataProviderException;
14  import org.weda.property.PropertyDescriptor;
15  
16  /**
17   *
18   * @author Mikhail Titov
19   */
20  public class TableModelDataProvider implements DataProvider {
21      private String mimeType;
22      private TableModel model;
23      private TableModelDataId dataId;
24      
25      public TableModelDataProvider(TableModel model, TableModelDataId dataId) {
26          this.model = model;
27          List<PropertyDescriptor> columns = model.getColumnDescriptors();
28          this.mimeType = columns.get(dataId.getCol()).getMimeType();
29          this.dataId = dataId;
30      }
31  
32      public String getMimeType() {
33          return mimeType;
34      }
35  
36      public Object getData() throws DataProviderException {
37          try{
38              return model.getData().getValueAt(dataId.getRow(), dataId.getCol());
39          }catch(TableModelException e){
40              throw new DataProviderException(
41                  String.format(
42                      "Can't provide data from table model (%s)"
43                      , model.getName())
44                  , e);
45          }
46      }    
47  
48      public void release() throws DataProviderException {
49      }
50  }