1 package fr.ifremer.dali.ui.swing.util.table;
2
3 /*
4 * #%L
5 * Dali :: UI
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2014 - 2015 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (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 Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25
26
27 import org.jdesktop.swingx.table.TableColumnExt;
28
29 import java.math.BigDecimal;
30
31 /**
32 * A TableColumnExt for Pmfm
33 *
34 * Created by Ludovic on 12/06/2015.
35 */
36 public class PmfmTableColumn extends TableColumnExt {
37
38 /**
39 * <p>Constructor for PmfmTableColumn.</p>
40 *
41 * @param columnCount a int.
42 */
43 public PmfmTableColumn(int columnCount) {
44 super(columnCount);
45 }
46
47 /**
48 * <p>getPmfmIdentifier.</p>
49 *
50 * @param <R> a R object.
51 * @return a {@link DaliPmfmColumnIdentifier} object.
52 */
53 @SuppressWarnings("unchecked")
54 public <R extends AbstractDaliRowUIModel> DaliPmfmColumnIdentifier<R> getPmfmIdentifier() {
55 if (getIdentifier() instanceof DaliPmfmColumnIdentifier){
56 return (DaliPmfmColumnIdentifier<R>) getIdentifier();
57 }
58 throw new IllegalArgumentException("the identifier is not instance of DaliPmfmColumnIdentifier");
59 }
60
61 /**
62 * <p>getPmfmId.</p>
63 *
64 * @return a int.
65 */
66 public int getPmfmId() {
67 return getPmfmIdentifier().getPmfmId();
68 }
69
70 /**
71 * <p>isNumerical.</p>
72 *
73 * @return a boolean.
74 */
75 public boolean isNumerical() {
76 return BigDecimal.class.isAssignableFrom(getPmfmIdentifier().getPropertyType());
77 }
78 }