View Javadoc
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  }