public boolean evaluate(final SheetCell cell) {
final boolean applies = this.evaluateHelper(cell);
if (applies) {
cell.applyConditionalStyle(this._style);
}
return applies;
}
private boolean evaluateHelper(final SheetCell cell) {
switch (this._type) {
case ABOVE_AVERAGE: {
return this.evaluateAverage(cell);
}
case BEGINS_WITH: {
return this.evaluateFormulaCondition(cell);
}
case CELL_VALUE: {
return this.evaluateValueCondition(cell);
}
case COLOR_SCALE: {
return this.evaluateCF(cell, CFType.ColorScale);
}
case CONTAINS_BLANKS: {
return this.evaluateFormulaCondition(cell);
}
case CONTAINS_ERRORS: {
return this.evaluateFormulaCondition(cell);
}
case CONTAINS_TEXT: {
return this.evaluateFormulaCondition(cell);
}
case DATA_BAR: {
return false;
}
case DUPLICATE_VALUES: {
return this.evaluateDuplicateCondition(cell);
}
case ENDS_WITH: {
return this.evaluateFormulaCondition(cell);
}
case EXPRESSION: {
return this.evaluateFormulaCondition(cell);
}
case ICON_SET: {
return this.evaluateCF(cell, CFType.IconSet);
}
case NOT_CONTAINS_BLANKS: {
return this.evaluateFormulaCondition(cell);
}
case NOT_CONTAINS_ERRORS: {
return this.evaluateFormulaCondition(cell);
}
case NOT_CONTAINS_TEXT: {
return this.evaluateFormulaCondition(cell);
}
case TIME_PERIOD: {
return this.evaluateFormulaCondition(cell);
}
case TOP_10: {
return this.evaluateTop10Condition(cell);
}
case UNIQUE_VALUES: {
return false;
}
default: {
return false;
}
}
}