1
2
3
4
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 }