1
2
3
4
5
6
7 package org.weda.model.impl;
8
9 import org.weda.data.DataProvider;
10 import org.weda.data.DataProviderException;
11 import org.weda.model.EditorModel;
12 import org.weda.model.EditorModelException;
13
14 /**
15 *
16 * @author Mikhail Titov
17 */
18 public class EditorModelDataProvider implements DataProvider {
19 private String mimeType;
20 private EditorModel editorModel;
21
22 public EditorModelDataProvider(EditorModel editorModel)
23 throws DataProviderException
24 {
25 try {
26 mimeType = editorModel.getPropertyDescriptor().getMimeType();
27 this.editorModel = editorModel;
28 } catch (EditorModelException ex) {
29 throw new DataProviderException(
30 String.format(
31 "Can't create data provider for editor model (%s)"
32 , editorModel.getName())
33 , ex);
34 }
35 }
36
37 public String getMimeType() {
38 return mimeType;
39 }
40
41 public Object getData() throws DataProviderException {
42 try {
43 return editorModel.getValue();
44 } catch (EditorModelException ex) {
45 throw new DataProviderException(
46 String.format(
47 "Can't provide data from editor model (%s)"
48 , editorModel.getName())
49 , ex);
50 }
51 }
52
53 public void release() throws DataProviderException {
54 }
55
56 }