1 /*
2 * Copyright (c) 2011-2024 PrimeFaces Extensions
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22 package org.primefaces.extensions.model.sheet;
23
24 import java.io.Serializable;
25 import java.util.Objects;
26
27 /**
28 * Spreadsheet component model for storing a row/column index.
29 *
30 * @author Mark Lassiter / Melloware
31 * @since 6.2
32 */
33 public class SheetRowColIndex implements Serializable {
34
35 private static final long serialVersionUID = 1L;
36
37 private final String rowKey;
38 private final Integer colIndex;
39
40 /**
41 * Constructs an instance of RowColIndex for the row and column specified.
42 *
43 * @param rowKey the row represented by this index
44 * @param col the column represented by this index
45 */
46 public SheetRowColIndex(final String rowKey, final Integer col) {
47 this.rowKey = rowKey;
48 colIndex = col;
49 }
50
51 @Override
52 public boolean equals(Object o) {
53 if (this == o) {
54 return true;
55 }
56 if (!(o instanceof SheetRowColIndex)) {
57 return false;
58 }
59 SheetRowColIndex that = (SheetRowColIndex) o;
60 return Objects.equals(getRowKey(), that.getRowKey()) &&
61 Objects.equals(getColIndex(), that.getColIndex());
62 }
63
64 @Override
65 public int hashCode() {
66 return Objects.hash(getRowKey(), getColIndex());
67 }
68
69 @Override
70 public String toString() {
71 return "SheetRowColIndex{" + "rowKey=" + rowKey + ", colIndex=" + colIndex + '}';
72 }
73
74 /**
75 * The rowIndex value.
76 *
77 * @return the rowIndex
78 */
79 public String getRowKey() {
80 return rowKey;
81 }
82
83 /**
84 * The colIndex value.
85 *
86 * @return the colIndex
87 */
88 public Integer getColIndex() {
89 return colIndex;
90 }
91
92 }