KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > puppycrawl > tools > checkstyle > checks > indentation > LineSet


1 ////////////////////////////////////////////////////////////////////////////////
2
// checkstyle: Checks Java source code for adherence to a set of rules.
3
// Copyright (C) 2001-2005 Oliver Burn
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.checks.indentation;
20
21 import java.util.SortedMap JavaDoc;
22 import java.util.TreeMap JavaDoc;
23
24 /**
25  * Represents a set of lines.
26  *
27  * @author jrichard
28  */

29 public class LineSet
30 {
31     /**
32      * Maps line numbers to their start column.
33      */

34     private final SortedMap JavaDoc mLines = new TreeMap JavaDoc();
35
36     /**
37      * Get the starting column for a given line number.
38      *
39      * @param aLineNum the specified line number
40      *
41      * @return the starting column for the given line number
42      */

43     public Integer JavaDoc getStartColumn(Integer JavaDoc aLineNum)
44     {
45         return (Integer JavaDoc) mLines.get(aLineNum);
46     }
47
48     /**
49      * Get the starting column for the first line.
50      *
51      * @return the starting column for the first line.
52      */

53     public int firstLineCol()
54     {
55         final Object JavaDoc firstLineKey = mLines.firstKey();
56         return ((Integer JavaDoc) mLines.get(firstLineKey)).intValue();
57     }
58
59     /**
60      * Get the line number of the first line.
61      *
62      * @return the line number of the first line
63      */

64     public int firstLine()
65     {
66         return ((Integer JavaDoc) mLines.firstKey()).intValue();
67     }
68
69     /**
70      * Get the line number of the last line.
71      *
72      * @return the line number of the last line
73      */

74     public int lastLine()
75     {
76         return ((Integer JavaDoc) mLines.lastKey()).intValue();
77     }
78
79     /**
80      * Add a line to this set of lines.
81      *
82      * @param aLineNum the line to add
83      * @param aCol the starting column of the new line
84      */

85     public void addLineAndCol(Integer JavaDoc aLineNum, int aCol)
86     {
87         mLines.put(aLineNum, new Integer JavaDoc(aCol));
88     }
89
90     /**
91      * Determines if this set of lines is empty.
92      *
93      * @return true if it is empty, false otherwise
94      */

95     public boolean isEmpty()
96     {
97         return mLines.isEmpty();
98     }
99
100     /**
101      * @return string representation
102      */

103     public String JavaDoc toString()
104     {
105         return "LineSet[ start=" + firstLine() + ", last=" + lastLine() + "]";
106     }
107 }
108
Popular Tags