1
2
3
4
5
6
7
8
9
10
11 package de.jaret.util.ui.table.model;
12
13 import java.util.ArrayList;
14 import java.util.HashSet;
15 import java.util.List;
16 import java.util.Set;
17
18 /***
19 * Implementation of the JaretTableSelection.
20 *
21 * @author Peter Kliem
22 * @version $Id: JaretTableSelectionImpl.java 179 2007-01-07 17:37:50Z olk $
23 */
24 public class JaretTableSelectionImpl implements IJaretTableSelection {
25 /*** selected rows. */
26 protected List<IRow> _rows = new ArrayList<IRow>();
27 /*** selected columns. */
28 protected List<IColumn> _columns = new ArrayList<IColumn>();
29 /*** selected cells. */
30 protected List<IJaretTableCell> _cells = new ArrayList<IJaretTableCell>();
31
32 /***
33 * {@inheritDoc}
34 */
35 public void clear() {
36 _rows.clear();
37 _columns.clear();
38 _cells.clear();
39 }
40
41 /***
42 * {@inheritDoc}
43 */
44 public List<IRow> getSelectedRows() {
45 return _rows;
46 }
47
48 /***
49 * {@inheritDoc}
50 */
51 public List<IColumn> getSelectedColumns() {
52 return _columns;
53 }
54
55 /***
56 * {@inheritDoc}
57 */
58 public List<IJaretTableCell> getSelectedCells() {
59 return _cells;
60 }
61
62 /***
63 * {@inheritDoc}
64 */
65 public void addRow(IRow row) {
66 _rows.add(row);
67 }
68
69 /***
70 * {@inheritDoc}
71 */
72 public void remRow(IRow row) {
73 _rows.remove(row);
74 }
75
76 /***
77 * {@inheritDoc}
78 */
79 public void addColumn(IColumn column) {
80 _columns.add(column);
81 }
82
83 /***
84 * {@inheritDoc}
85 */
86 public void remColumn(IColumn column) {
87 _columns.remove(column);
88 }
89
90 /***
91 * {@inheritDoc}
92 */
93 public void addCell(IJaretTableCell cell) {
94 _cells.add(cell);
95 }
96
97 /***
98 * {@inheritDoc}
99 */
100 public void remCell(IJaretTableCell cell) {
101 _cells.remove(cell);
102 }
103
104 /***
105 * {@inheritDoc}
106 */
107 public boolean isEmpty() {
108 return _rows.size() == 0 && _columns.size() == 0 && _cells.size() == 0;
109 }
110
111 /***
112 * {@inheritDoc}
113 */
114 public Set<IJaretTableCell> getAllSelectedCells(IJaretTableModel model) {
115 Set<IJaretTableCell> set = new HashSet<IJaretTableCell>();
116 for (IRow row : _rows) {
117 for (int i = 0; i < model.getColumnCount(); i++) {
118 JaretTableCellImpl cell = new JaretTableCellImpl(row, model.getColumn(i));
119 set.add(cell);
120 }
121 }
122 for (IColumn col : _columns) {
123 for (int i = 0; i < model.getRowCount(); i++) {
124 JaretTableCellImpl cell = new JaretTableCellImpl(model.getRow(i), col);
125 set.add(cell);
126 }
127
128 }
129 set.addAll(_cells);
130 return set;
131 }
132
133 }