public class LineWrappingHandler
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private IndentationCheck |
indentCheck
The current instance of
IndentationCheck class using this
handler. |
Constructor and Description |
---|
LineWrappingHandler(IndentationCheck instance)
Sets values of class field, finds last node and calculates indentation level.
|
Modifier and Type | Method and Description |
---|---|
private void |
checkAnnotationIndentation(DetailAST atNode,
java.util.NavigableMap<java.lang.Integer,DetailAST> firstNodesOnLines,
int indentLevel)
Checks line wrapping into annotations.
|
void |
checkIndentation(DetailAST firstNode,
DetailAST lastNode)
Checks line wrapping into expressions and definitions using property
'lineWrappingIndentation'.
|
void |
checkIndentation(DetailAST firstNode,
DetailAST lastNode,
int indentLevel)
Checks line wrapping into expressions and definitions.
|
void |
checkIndentation(DetailAST firstNode,
DetailAST lastNode,
int indentLevel,
int startIndent,
boolean ignoreFirstLine)
Checks line wrapping into expressions and definitions.
|
private java.util.NavigableMap<java.lang.Integer,DetailAST> |
collectFirstNodes(DetailAST firstNode,
DetailAST lastNode)
Finds first nodes on line and puts them into Map.
|
private int |
expandedTabsColumnNo(DetailAST ast)
Get the column number for the start of a given expression, expanding
tabs out into spaces in the process.
|
private int |
getLineStart(DetailAST ast)
Get the start of the line for the given expression.
|
private int |
getLineStart(java.lang.String line)
Get the start of the specified line.
|
private static DetailAST |
getNextCurNode(DetailAST curNode)
Returns next curNode node.
|
private static java.lang.Integer |
getNextNodeLine(java.util.NavigableMap<java.lang.Integer,DetailAST> firstNodesOnLines,
DetailAST node)
Gets the next node line from the firstNodesOnLines map unless there is no next line, in
which case, it returns the last line.
|
private boolean |
isEndOfScope(DetailAST lastAnnotationNode,
DetailAST node)
Checks line for end of scope.
|
private void |
logWarningMessage(DetailAST currentNode,
int currentIndent)
Logs warning message if indentation is incorrect.
|
private final IndentationCheck indentCheck
IndentationCheck
class using this
handler. This field used to get access to private fields of
IndentationCheck instance.public LineWrappingHandler(IndentationCheck instance)
instance
- instance of IndentationCheck.public void checkIndentation(DetailAST firstNode, DetailAST lastNode)
firstNode
- First node to start examining.lastNode
- Last node to examine inclusively.public void checkIndentation(DetailAST firstNode, DetailAST lastNode, int indentLevel)
firstNode
- First node to start examining.lastNode
- Last node to examine inclusively.indentLevel
- Indentation all wrapped lines should use.public void checkIndentation(DetailAST firstNode, DetailAST lastNode, int indentLevel, int startIndent, boolean ignoreFirstLine)
firstNode
- First node to start examining.lastNode
- Last node to examine inclusively.indentLevel
- Indentation all wrapped lines should use.startIndent
- Indentation first line before wrapped lines used.ignoreFirstLine
- Test if first line's indentation should be checked or not.private static java.lang.Integer getNextNodeLine(java.util.NavigableMap<java.lang.Integer,DetailAST> firstNodesOnLines, DetailAST node)
firstNodesOnLines
- NavigableMap of lines and their first nodes.node
- the node for which to find the next node lineprivate java.util.NavigableMap<java.lang.Integer,DetailAST> collectFirstNodes(DetailAST firstNode, DetailAST lastNode)
firstNode
- First node to start examining.lastNode
- Last node to examine inclusively.private static DetailAST getNextCurNode(DetailAST curNode)
curNode
- current node.private void checkAnnotationIndentation(DetailAST atNode, java.util.NavigableMap<java.lang.Integer,DetailAST> firstNodesOnLines, int indentLevel)
atNode
- at-clause node.firstNodesOnLines
- map which contains
first nodes as values and line numbers as keys.indentLevel
- line wrapping indentation.private boolean isEndOfScope(DetailAST lastAnnotationNode, DetailAST node)
lastAnnotationNode
- the last node of the annotationnode
- the node indicating where to begin checkingprivate int expandedTabsColumnNo(DetailAST ast)
ast
- the expression to find the start ofprivate int getLineStart(DetailAST ast)
ast
- the expression to find the start of the line forprivate int getLineStart(java.lang.String line)
line
- the specified line numberprivate void logWarningMessage(DetailAST currentNode, int currentIndent)
currentNode
- current node which probably invoked an error.currentIndent
- correct indentation.