com.puppycrawl.tools.checkstyle.checks.indentation
Class BlockParentHandler

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.checks.indentation.ExpressionHandler
      extended bycom.puppycrawl.tools.checkstyle.checks.indentation.BlockParentHandler
Direct Known 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, java.lang.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 getListChild()
          Get the child element representing the list of statements.
protected  DetailAST getLParen()
          Get the left parenthesis portion of the expression we are handling.
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, checkLinesIndent, checkModifiers, expandedTabsColumnNo, findSubtreeLines, getBasicOffset, getBraceAdjustement, getFirstLine, getIndentCheck, getLevel, getLevelImpl, getLineStart, getLineStart, getMainAst, getParent, logError, logError, shouldIncreaseIndent, startsLine, suggestedChildLevel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockParentHandler

public BlockParentHandler(IndentationCheck aIndentCheck,
                          java.lang.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 Detail

getToplevelAST

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

Returns:
the top level expression

checkToplevelToken

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


toplevelMustStartLine

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

Returns:
true

hasCurlys

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

Returns:
true if curly braces are present, false otherwise

getLCurly

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

Returns:
the left curly brace expression

getRCurly

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

Returns:
the right curly brace expression

checkLCurly

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


rcurlyMustStart

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

Returns:
true

childrenMayNest

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

Returns:
false

checkRCurly

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


getNonlistChild

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

Returns:
the non-list child element

getListChild

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

Returns:
the statement list child

getRParen

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

Returns:
the right parenthis expression

getLParen

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

Returns:
the left parenthis expression

checkRParen

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


checkLParen

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


checkIndentation

public void checkIndentation()
Check the indentation of the expression we are handling.

Specified by:
checkIndentation in class ExpressionHandler

getChildrenExpectedLevel

protected IndentLevel getChildrenExpectedLevel()
Returns:
indentation level expected for children

Back to the Checkstyle Home Page