Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.swing / org.gvsig.fmap.dal.swing.impl / src / main / java / org / gvsig / fmap / dal / swing / impl / featuretype / AggregateController.java @ 45739

History | View | Annotate | Download (2.94 KB)

1 45739 jjdelcerro
package org.gvsig.fmap.dal.swing.impl.featuretype;
2
3
import java.util.Collections;
4
import java.util.Iterator;
5
import javax.swing.event.TableModelListener;
6
import javax.swing.table.TableModel;
7
import org.gvsig.tools.util.GetItem;
8
9
/**
10
 *
11
 * @author gvSIG Team
12
 * @param <T>
13
 */
14
public interface AggregateController<T> {
15
16
    public static final int MODE_EDIT_PART = 0;
17
    public static final int MODE_EDIT_ALL = 1;
18
    public static final int MODE_SHOW_ONLY = 2;
19
20
    public interface AggregateModel<T> extends GetItem<T>, Iterable<T>, TableModel {
21
22
        public T createItem();
23
24
        public void addItem(T item);
25
    }
26
27
    public interface AggregateItemController<T> {
28
29
        public void setEnabled(boolean b);
30
31
        public void put(T item);
32
33
        public boolean fetch(T item);
34
35
        public void clean();
36
37
        public boolean isEditing();
38
    }
39
40
    public final AggregateModel EMPTY_MODEL = new AggregateModel() {
41
        @Override
42
        public Object createItem() {
43
            return null;
44
        }
45
46
        @Override
47
        public void addItem(Object item) {
48
        }
49
50
        @Override
51
        public Object get(int position) {
52
            return null;
53
        }
54
55
        @Override
56
        public Iterator iterator() {
57
            return Collections.EMPTY_LIST.iterator();
58
        }
59
60
        @Override
61
        public int getRowCount() {
62
            return 0;
63
        }
64
65
        @Override
66
        public int getColumnCount() {
67
            return 0;
68
        }
69
70
        @Override
71
        public String getColumnName(int columnIndex) {
72
            return "";
73
        }
74
75
        @Override
76
        public Class<?> getColumnClass(int columnIndex) {
77
            return String.class;
78
        }
79
80
        @Override
81
        public boolean isCellEditable(int rowIndex, int columnIndex) {
82
            return false;
83
        }
84
85
        @Override
86
        public Object getValueAt(int rowIndex, int columnIndex) {
87
            return "";
88
        }
89
90
        @Override
91
        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
92
        }
93
94
        @Override
95
        public void addTableModelListener(TableModelListener l) {
96
        }
97
98
        @Override
99
        public void removeTableModelListener(TableModelListener l) {
100
        }
101
    };
102
103
    public void acceptModifications();
104
105
    public void deleteCurrentItem();
106
107
    public void discardModificactions();
108
109
    public AggregateModel<T> getModel();
110
111
    public boolean isEditing();
112
113
    public void modifyCurrentItem();
114
115
    public void newItem();
116
117
    public void setCurrentRow(int row);
118
119
    public int getCurrentRow();
120
121
    public void setModel(AggregateModel<T> model);
122
123
    public AggregateItemController<T> getItemController();
124
125
    public void setCanCreate(boolean canCreate);
126
127
    public void setCanModify(boolean canModify);
128
129
    public void setCanDelete(boolean canDelete);
130
131
    public boolean canCreate();
132
133
    public boolean canModify();
134
135
    public boolean canDelete();
136
}