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

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

public class QuestionNewParenPhrase
extends IndentRuleQuestion

Question rule in the indentation decision tree. Determines if the current line starts a new "phrase" within a parenthesized expression. Specifically, this rule determines if the previous line ends in a comma, semicolon, open paren, or open bracket. Note that whitespace, blank lines, and comments are disregarded.

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

Field Summary
 
Fields inherited from class edu.rice.cs.drjava.model.definitions.indent.IndentRuleWithTrace
NO, TERMINUS_RULE, YES
 
Constructor Summary
QuestionNewParenPhrase(IndentRule yesRule, IndentRule noRule)
          Constructs a new rule to determine if the current line starts new paren phrase.
 
Method Summary
(package private)  boolean applyRule(AbstractDJDocument doc, Indenter.IndentReason reason)
          Determines if the previous line ends in a comma, semicolon, open paren, open bracket, operator, or comparator.
 
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
 

Constructor Detail

QuestionNewParenPhrase

public QuestionNewParenPhrase(IndentRule yesRule,
                              IndentRule noRule)
Constructs a new rule to determine if the current line starts new paren phrase.

Parameters:
yesRule - Rule to use if this rule holds
noRule - Rule to use if this rule does not hold
Method Detail

applyRule

boolean applyRule(AbstractDJDocument doc,
                  Indenter.IndentReason reason)
Determines if the previous line ends in a comma, semicolon, open paren, open bracket, operator, or comparator.

Specified by:
applyRule in class IndentRuleQuestion
Parameters:
doc - AbstractDJDocument containing the line to be indented.
reason - The reason that indentation was initiated, specified in Indenter
Returns:
true if this node's rule holds.