View Javadoc
1   ////////////////////////////////////////////////////////////////////////////////
2   // checkstyle: Checks Java source code for adherence to a set of rules.
3   // Copyright (C) 2001-2015 the original author or authors.
4   //
5   // This library is free software; you can redistribute it and/or
6   // modify it under the terms of the GNU Lesser General Public
7   // License as published by the Free Software Foundation; either
8   // version 2.1 of the License, or (at your option) any later version.
9   //
10  // This library is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  // Lesser General Public License for more details.
14  //
15  // You should have received a copy of the GNU Lesser General Public
16  // License along with this library; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  ////////////////////////////////////////////////////////////////////////////////
19  package com.puppycrawl.tools.checkstyle.api;
20  
21  /**
22   * Immutable line and column numbers.
23   *
24   * @author Martin von Gagern
25   */
26  public class LineColumn implements Comparable<LineColumn>
27  {
28  
29      /** The one-based line number */
30      private final int line;
31  
32      /** The zero-based column number */
33      private final int col;
34  
35      /**
36       * Constructs a new pair of line and column numbers.
37       * @param line the one-based line number
38       * @param col the zero-based column number
39       */
40      public LineColumn(int line, int col)
41      {
42          this.line = line;
43          this.col = col;
44      }
45  
46      /** @return the one-based line number */
47      public int getLine()
48      {
49          return line;
50      }
51  
52      /** @return the zero-based column number */
53      public int getColumn()
54      {
55          return col;
56      }
57  
58      /** {@inheritDoc} */
59      @Override
60      public int compareTo(LineColumn lineColumn)
61      {
62          return this.getLine() != lineColumn.getLine()
63              ? this.getLine() - lineColumn.getLine()
64              : this.getColumn() - lineColumn.getColumn();
65      }
66  }