1 package fr.ifremer.tutti.ui.swing.content.genericformat.tree;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.tutti.persistence.model.DataModelSupport;
28
29 import javax.swing.tree.DefaultMutableTreeNode;
30
31
32
33
34
35
36
37 public abstract class DataSelectTreeNodeSupport<O extends DataModelSupport> extends DefaultMutableTreeNode {
38
39 private static final long serialVersionUID = 1L;
40
41 public abstract boolean isSelected();
42
43 public abstract void setSelected(boolean selected);
44
45 public abstract O getSelectedDataModel();
46
47 public DataSelectTreeNodeSupport(O userObject) {
48 super(userObject);
49 }
50
51 public String getId() {
52 return getUserObject().getId();
53 }
54
55 public String getLabel() {
56 return getUserObject().getLabel();
57 }
58
59 @Override
60 public O getUserObject() {
61 return (O) super.getUserObject();
62 }
63
64 @Override
65 public void setUserObject(Object userObject) {
66 if (userObject instanceof Boolean) {
67 setSelected((boolean) userObject);
68 } else {
69 super.setUserObject(userObject);
70 }
71 }
72
73 public boolean isExist() {
74 return getOptionalId() != null;
75 }
76
77 public String getOptionalId() {
78 return getUserObject().getOptionalId();
79 }
80
81
82 }