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

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.QuestionHasCharPrecedingOpenBrace
All Implemented Interfaces:
IndentRule

public class QuestionHasCharPrecedingOpenBrace
extends IndentRuleQuestion

Determines whether or not the line enclosing brace is '{' and is immediately preceded by the given _prefix. If _prefix is '=', we are looking for "= {". This questions corresponds to rule 22 in our decision tree.

Version:
$Id: QuestionHasCharPrecedingOpenBrace.java 5175 2010-01-20 08:46:32Z mgricken $

Field Summary
private  char[] _prefix
           
 
Fields inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleWithTrace
NO, TERMINUS_RULE, YES
 
Constructor Summary
QuestionHasCharPrecedingOpenBrace(char[] prefix, IndentRule yesRule, IndentRule noRule)
           
 
Method Summary
(package private)  boolean applyRule(AbstractDJDocument doc, Indenter.IndentReason reason)
          Applies the rule described in class documentation.
 
Methods inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleQuestion
applyRule, indentLine, testApplyRule, testApplyRule, testIndentLine
 
Methods inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleWithTrace
_addToIndentTrace, getRuleName, getTrace, indentLine, printLastIndentTrace, setRuleTraceEnabled, testIndentLine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_prefix

private char[] _prefix
Constructor Detail

QuestionHasCharPrecedingOpenBrace

public QuestionHasCharPrecedingOpenBrace(char[] prefix,
                                         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

boolean applyRule(AbstractDJDocument doc,
                  Indenter.IndentReason reason)
Applies the rule described in class documentation. Only runs in the event thread.

Specified by:
applyRule in class IndentRuleQuestion
Parameters:
doc - The AbstractDJDocument containing the current line.
reason - The reason that indentation was initiated, specified in Indenter
Returns:
true iff the last block/expression-list opened before the start of the current line begins with '{'.