1 /*
2 * Copyright (c) 2002-2025, City of Paris
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright notice
10 * and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright notice
13 * and the following disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 *
32 * License 1.0
33 */
34 package fr.paris.lutece.util.datatable;
35
36 import java.io.Serializable;
37
38 /**
39 * Data table column
40 */
41 public class DataTableColumn implements Serializable
42 {
43 private static final long serialVersionUID = 7018948403682749643L;
44 private String _strTitleKey;
45 private String _strParameterName;
46 private boolean _bSortable;
47 private DataTableColumnType _columnType;
48 private String _strLabelTrue;
49 private String _strLabelFalse;
50
51 /**
52 * Creates a new DataTableColumn
53 *
54 * @param strTitleKey
55 * I18n key of the title of this column
56 * @param strParameterName
57 * Name of the object to insert into this cells of this column
58 * @param bSortable
59 * True of the column is sortable, false otherwise
60 * @param typeColumn
61 * The type of data displayed by the column
62 */
63 public DataTableColumn( String strTitleKey, String strParameterName, boolean bSortable, DataTableColumnType typeColumn )
64 {
65 _strTitleKey = strTitleKey;
66 _strParameterName = strParameterName;
67 _bSortable = bSortable;
68 _columnType = typeColumn;
69 }
70
71 /**
72 * Creates a new boolean DataTableColumn
73 *
74 * @param strTitleKey
75 * I18n key of the title of this column
76 * @param strParameterName
77 * Name of the object to insert into this cells of this column
78 * @param bSortable
79 * True of the column is sortable, false otherwise
80 * @param columnType
81 * The type of data displayed by the column
82 * @param strLabelTrue
83 * The label to display in a cell if the value is true
84 * @param strLabelFalse
85 * The label to display in a cell if the value is false
86 */
87 public DataTableColumn( String strTitleKey, String strParameterName, boolean bSortable, DataTableColumnType columnType, String strLabelTrue,
88 String strLabelFalse )
89 {
90 _strTitleKey = strTitleKey;
91 _strParameterName = strParameterName;
92 _bSortable = bSortable;
93 _columnType = columnType;
94 _strLabelTrue = strLabelTrue;
95 _strLabelFalse = strLabelFalse;
96 }
97
98 /**
99 * Get the I18n key of the title of this column
100 *
101 * @return The I18n key of the title of this column
102 */
103 public String getTitleKey( )
104 {
105 return _strTitleKey;
106 }
107
108 /**
109 * Set the I18n key of the title of this column
110 *
111 * @param strTitleKey
112 * The I18n key of the title of this column
113 */
114 public void setTitleKey( String strTitleKey )
115 {
116 _strTitleKey = strTitleKey;
117 }
118
119 /**
120 * Get the name of the object to insert into this cells of this column
121 *
122 * @return The name of the object to insert into this cells of this column
123 */
124 public String getParameterName( )
125 {
126 return _strParameterName;
127 }
128
129 /**
130 * Set the name of the object to insert into this cells of this column
131 *
132 * @param strParameterName
133 * The name of the object to insert into this cells of this column
134 */
135 public void setParameterName( String strParameterName )
136 {
137 _strParameterName = strParameterName;
138 }
139
140 /**
141 * Get the sortable boolean of this column
142 *
143 * @return true if the column is sortable, false otherwise
144 */
145 public boolean getSortable( )
146 {
147 return _bSortable;
148 }
149
150 /**
151 * Set the sortable boolean of this column
152 *
153 * @param bSortable
154 * true if the column is sortable, false otherwise
155 */
156 public void setSortable( boolean bSortable )
157 {
158 _bSortable = bSortable;
159 }
160
161 /**
162 * Get the type of the column
163 *
164 * @return The type of the column
165 */
166 public DataTableColumnType getTypeColumn( )
167 {
168 return _columnType;
169 }
170
171 /**
172 * Set the type of the column
173 *
174 * @param columnType
175 * The type of the column
176 */
177 public void setTypeColumn( DataTableColumnType columnType )
178 {
179 _columnType = columnType;
180 }
181
182 /**
183 * Get the label to print in a cell if the boolean value is true
184 *
185 * @return The label to print in a cell if the boolean value is true
186 */
187 public String getLabelTrue( )
188 {
189 return _strLabelTrue;
190 }
191
192 /**
193 * Set the label to print in a cell if the boolean value is true
194 *
195 * @param strLabelTrue
196 * The label to print in a cell if the boolean value is true
197 */
198 public void setLabelTrue( String strLabelTrue )
199 {
200 _strLabelTrue = strLabelTrue;
201 }
202
203 /**
204 * Get the label to print in a cell if the boolean value is false
205 *
206 * @return The label to print in a cell if the boolean value is false
207 */
208 public String getLabelFalse( )
209 {
210 return _strLabelFalse;
211 }
212
213 /**
214 * Set the label to print in a cell if the boolean value is false
215 *
216 * @param strLabelFalse
217 * The label to print in a cell if the boolean value is false
218 */
219 public void setLabelFalse( String strLabelFalse )
220 {
221 _strLabelFalse = strLabelFalse;
222 }
223 }