Class LineAndColumnTracker
- java.lang.Object
-
- org.codehaus.commons.compiler.util.LineAndColumnTracker
-
public abstract class LineAndColumnTracker extends java.lang.Object
Keeps track of "line numbers" and "column numbers" while a char stream is being processed. Line breaks are identified as defined by the\R
pattern ofPattern
. Initially, line number and column number are 1.This class has no public constructors, instead, use one of the static "factory methods".
- See Also:
create()
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_TAB_WIDTH
The default "tab width".
-
Constructor Summary
Constructors Constructor Description LineAndColumnTracker()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
consume(char c)
Consumes the next character of the stream.static LineAndColumnTracker
create()
abstract int
getColumnNumber()
Returns the column number of the previously consumed character; 1 after a line separator character has been consumed, 2 after the first non-line-separator character, and so forth.abstract int
getLineNumber()
Returns the line number of the previously consumed character (starting at 1).abstract void
reset()
Resets the current line number to 1 and the current column number to one.abstract void
setColumnNumber(int columnNumber)
Sets the "current column number" to the given value.abstract void
setLineNumber(int lineNumber)
Sets the "current line number" to the given value.abstract void
setTabWidth(int tabWidth)
Reconfigures the TAB width.
-
-
-
Field Detail
-
DEFAULT_TAB_WIDTH
public static final int DEFAULT_TAB_WIDTH
The default "tab width".- See Also:
setTabWidth(int)
, Constant Field Values
-
-
Method Detail
-
setTabWidth
public abstract void setTabWidth(int tabWidth)
Reconfigures the TAB width. Value1
will treat TAB characters just like any other (non-line-break) character. The default tab with isDEFAULT_TAB_WIDTH
(8).
-
consume
public abstract void consume(char c)
Consumes the next character of the stream.
-
getLineNumber
public abstract int getLineNumber()
Returns the line number of the previously consumed character (starting at 1). Line separator characters belong to the "next" line.
-
setLineNumber
public abstract void setLineNumber(int lineNumber)
Sets the "current line number" to the given value.
-
getColumnNumber
public abstract int getColumnNumber()
Returns the column number of the previously consumed character; 1 after a line separator character has been consumed, 2 after the first non-line-separator character, and so forth.
-
setColumnNumber
public abstract void setColumnNumber(int columnNumber)
Sets the "current column number" to the given value.
-
reset
public abstract void reset()
Resets the current line number to 1 and the current column number to one. (The configuredtab width
remains.)
-
create
public static LineAndColumnTracker create()
- Returns:
- A
LineAndColumnTracker
instance
-
-