1 package fr.ifremer.tutti.ui.swing.util.table;
2
3 /*
4 * #%L
5 * Tutti :: UI
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2012 - 2015 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation, either version 3 of the
14 * License, or (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public
22 * License along with this program. If not, see
23 * <http://www.gnu.org/licenses/gpl-3.0.html>.
24 * #L%
25 */
26
27 import org.jdesktop.swingx.table.TableColumnModelExt;
28 import org.nuiton.jaxx.application.swing.table.AbstractApplicationTableModel;
29
30 import java.io.Serializable;
31
32 /**
33 * @author Kevin Morin (Code Lutin)
34 * @since 4.2
35 */
36 public abstract class AbstractTuttiTableModel<E extends Serializable> extends AbstractApplicationTableModel<E> {
37
38 private static final long serialVersionUID = 1L;
39
40 protected AbstractTuttiTableModel(TableColumnModelExt columnModel,
41 boolean createNewRow,
42 boolean createEmptyRowIsEmpty) {
43 super(columnModel, createNewRow, createEmptyRowIsEmpty);
44 }
45
46 public void permuteEntry(int firstRow, int lastRow) {
47 E firstR = getRows().get(firstRow);
48
49 getRows().remove(firstRow);
50 getRows().add(lastRow, firstR);
51
52 fireTableRowsUpdated(firstRow, lastRow);
53 }
54 }