com.puppycrawl.tools.checkstyle.checks.indentation

Class BlockParentHandler

Known Direct Subclasses:
ArrayInitHandler, AssignHandler, CatchHandler, ClassDefHandler, DoWhileHandler, ElseHandler, FinallyHandler, ForHandler, IfHandler, MethodDefHandler, ObjectBlockHandler, SlistHandler, StaticInitHandler, SwitchHandler, TryHandler, WhileHandler

public class BlockParentHandler
extends ExpressionHandler

Handler for parents of blocks ('if', 'else', 'while', etc).

The "block" handler classes use a common superclass BlockParentHandler, employing the Template Method pattern.

Author:
jrichard

Constructor Summary

BlockParentHandler(IndentationCheck aIndentCheck, String aName, DetailAST aAst, ExpressionHandler aParent)
Construct an instance of this handler with the given indentation check, name, abstract syntax tree, and parent handler.

Method Summary

void
checkIndentation()
Check the indentation of the expression we are handling.
protected void
checkLCurly()
Check the indentation of the left curly brace.
protected void
checkLParen()
Check the indentation of the left parenthesis.
protected void
checkRCurly()
Check the indentation of the right curly brace.
protected void
checkRParen()
Check the indentation of the right parenthesis.
protected void
checkToplevelToken()
Check the indent of the top level token.
protected boolean
childrenMayNest()
Determines if child elements within the expression may be nested.
protected IndentLevel
getChildrenExpectedLevel()
protected DetailAST
getLCurly()
Get the left curly brace portion of the expression we are handling.
protected DetailAST
getLParen()
Get the left parenthesis portion of the expression we are handling.
protected DetailAST
getListChild()
Get the child element representing the list of statements.
protected DetailAST
getNonlistChild()
Get the child element that is not a list of statements.
protected DetailAST
getRCurly()
Get the right curly brace portion of the expression we are handling.
protected DetailAST
getRParen()
Get the right parenthesis portion of the expression we are handling.
protected DetailAST
getToplevelAST()
Get the top level expression being managed by this handler.
protected boolean
hasCurlys()
Determines if this block expression has curly braces.
protected boolean
rcurlyMustStart()
Determines if the right curly brace must be at the start of the line.
protected boolean
toplevelMustStartLine()
Determines if the top level token must start the line.

Methods inherited from class com.puppycrawl.tools.checkstyle.checks.indentation.ExpressionHandler

checkChildren, checkExpressionSubtree, checkIndentation, checkLinesIndent, checkModifiers, expandedTabsColumnNo, findSubtreeLines, getBasicOffset, getBraceAdjustement, getFirstLine, getIndentCheck, getLevel, getLevelImpl, getLineStart, getLineStart, getMainAst, getParent, logError, logError, shouldIncreaseIndent, startsLine, suggestedChildLevel

Constructor Details

BlockParentHandler

public BlockParentHandler(IndentationCheck aIndentCheck,
                          String aName,
                          DetailAST aAst,
                          ExpressionHandler aParent)
Construct an instance of this handler with the given indentation check, name, abstract syntax tree, and parent handler.

Parameters:
aIndentCheck - the indentation check
aName - the name of the handler
aAst - the abstract syntax tree
aParent - the parent handler

Method Details

checkIndentation

public void checkIndentation()
Check the indentation of the expression we are handling.
Overrides:
checkIndentation in interface ExpressionHandler


checkLCurly

protected void checkLCurly()
Check the indentation of the left curly brace.


checkLParen

protected void checkLParen()
Check the indentation of the left parenthesis.


checkRCurly

protected void checkRCurly()
Check the indentation of the right curly brace.


checkRParen

protected void checkRParen()
Check the indentation of the right parenthesis.


checkToplevelToken

protected void checkToplevelToken()
Check the indent of the top level token.


childrenMayNest

protected boolean childrenMayNest()
Determines if child elements within the expression may be nested.

Returns:
false


getChildrenExpectedLevel

protected IndentLevel getChildrenExpectedLevel()

Returns:
indentation level expected for children


getLCurly

protected DetailAST getLCurly()
Get the left curly brace portion of the expression we are handling.

Returns:
the left curly brace expression


getLParen

protected DetailAST getLParen()
Get the left parenthesis portion of the expression we are handling.

Returns:
the left parenthis expression


getListChild

protected DetailAST getListChild()
Get the child element representing the list of statements.

Returns:
the statement list child


getNonlistChild

protected DetailAST getNonlistChild()
Get the child element that is not a list of statements.

Returns:
the non-list child element


getRCurly

protected DetailAST getRCurly()
Get the right curly brace portion of the expression we are handling.

Returns:
the right curly brace expression


getRParen

protected DetailAST getRParen()
Get the right parenthesis portion of the expression we are handling.

Returns:
the right parenthis expression


getToplevelAST

protected DetailAST getToplevelAST()
Get the top level expression being managed by this handler.

Returns:
the top level expression


hasCurlys

protected boolean hasCurlys()
Determines if this block expression has curly braces.

Returns:
true if curly braces are present, false otherwise


rcurlyMustStart

protected boolean rcurlyMustStart()
Determines if the right curly brace must be at the start of the line.

Returns:
true


toplevelMustStartLine

protected boolean toplevelMustStartLine()
Determines if the top level token must start the line.

Returns:
true