edu.rice.cs.drjava.model.definitions.indent
Class QuestionBraceIsParenOrBracket

java.lang.Object
  extended by edu.rice.cs.drjava.model.definitions.indent.IndentRuleWithTrace
      extended by edu.rice.cs.drjava.model.definitions.indent.IndentRuleQuestion
          extended by edu.rice.cs.drjava.model.definitions.indent.QuestionBraceIsParenOrBracket
All Implemented Interfaces:
IndentRule

public class QuestionBraceIsParenOrBracket
extends IndentRuleQuestion

Determines whether or not the last block or expression list opened previous to the start of the current line was opened by one of the characters '(' or '['. This questions corresponds to rule 11 in our decision tree.

Version:
$Id: QuestionBraceIsParenOrBracket.java 4519 2008-06-15 07:14:29Z rcartwright $

Field Summary
 
Fields inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleWithTrace
NO, TERMINUS_RULE, YES
 
Constructor Summary
QuestionBraceIsParenOrBracket(IndentRule yesRule, IndentRule noRule)
           
 
Method Summary
protected  boolean applyRule(AbstractDJDocument doc, Indenter.IndentReason reason)
          Determines if the given rule holds in this context.
 
Methods inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleQuestion
indentLine, testIndentLine
 
Methods inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleWithTrace
_addToIndentTrace, getRuleName, indentLine, printLastIndentTrace, setRuleTraceEnabled, testIndentLine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuestionBraceIsParenOrBracket

public QuestionBraceIsParenOrBracket(IndentRule yesRule,
                                     IndentRule noRule)
Parameters:
yesRule - The decision subtree for the case that this rule applies in the current context.
noRule - The decision subtree for the case that this rule does not apply in the current context.
Method Detail

applyRule

protected boolean applyRule(AbstractDJDocument doc,
                            Indenter.IndentReason reason)
Description copied from class: IndentRuleQuestion
Determines if the given rule holds in this context.

Parameters:
doc - The AbstractDJDocument containing the current line.
reason - The reason the indentation is being done
Returns:
True iff the last block or expression list opened previous to the start of the current line was opened by one of the characters '(' or '['.