Class CFRuleBase

All Implemented Interfaces:
org.apache.poi.common.Duplicatable, GenericRecord
Direct Known Subclasses:
CFRule12Record, CFRuleRecord

public abstract class CFRuleBase extends StandardRecord
Conditional Formatting Rules. This can hold old-style rules

This is for the older-style Excel conditional formattings, new-style (Excel 2007+) also make use of CFRule12Record for their rules.

  • Field Details

    • CONDITION_TYPE_CELL_VALUE_IS

      public static final byte CONDITION_TYPE_CELL_VALUE_IS
      See Also:
    • CONDITION_TYPE_FORMULA

      public static final byte CONDITION_TYPE_FORMULA
      See Also:
    • CONDITION_TYPE_COLOR_SCALE

      public static final byte CONDITION_TYPE_COLOR_SCALE
      See Also:
    • CONDITION_TYPE_DATA_BAR

      public static final byte CONDITION_TYPE_DATA_BAR
      See Also:
    • CONDITION_TYPE_FILTER

      public static final byte CONDITION_TYPE_FILTER
      See Also:
    • CONDITION_TYPE_ICON_SET

      public static final byte CONDITION_TYPE_ICON_SET
      See Also:
    • TEMPLATE_CELL_VALUE

      public static final int TEMPLATE_CELL_VALUE
      See Also:
    • TEMPLATE_FORMULA

      public static final int TEMPLATE_FORMULA
      See Also:
    • TEMPLATE_COLOR_SCALE_FORMATTING

      public static final int TEMPLATE_COLOR_SCALE_FORMATTING
      See Also:
    • TEMPLATE_DATA_BAR_FORMATTING

      public static final int TEMPLATE_DATA_BAR_FORMATTING
      See Also:
    • TEMPLATE_ICON_SET_FORMATTING

      public static final int TEMPLATE_ICON_SET_FORMATTING
      See Also:
    • TEMPLATE_FILTER

      public static final int TEMPLATE_FILTER
      See Also:
    • TEMPLATE_UNIQUE_VALUES

      public static final int TEMPLATE_UNIQUE_VALUES
      See Also:
    • TEMPLATE_CONTAINS_TEXT

      public static final int TEMPLATE_CONTAINS_TEXT
      See Also:
    • TEMPLATE_CONTAINS_BLANKS

      public static final int TEMPLATE_CONTAINS_BLANKS
      See Also:
    • TEMPLATE_CONTAINS_NO_BLANKS

      public static final int TEMPLATE_CONTAINS_NO_BLANKS
      See Also:
    • TEMPLATE_CONTAINS_ERRORS

      public static final int TEMPLATE_CONTAINS_ERRORS
      See Also:
    • TEMPLATE_CONTAINS_NO_ERRORS

      public static final int TEMPLATE_CONTAINS_NO_ERRORS
      See Also:
    • TEMPLATE_TODAY

      public static final int TEMPLATE_TODAY
      See Also:
    • TEMPLATE_TOMORROW

      public static final int TEMPLATE_TOMORROW
      See Also:
    • TEMPLATE_YESTERDAY

      public static final int TEMPLATE_YESTERDAY
      See Also:
    • TEMPLATE_LAST_7_DAYS

      public static final int TEMPLATE_LAST_7_DAYS
      See Also:
    • TEMPLATE_LAST_MONTH

      public static final int TEMPLATE_LAST_MONTH
      See Also:
    • TEMPLATE_NEXT_MONTH

      public static final int TEMPLATE_NEXT_MONTH
      See Also:
    • TEMPLATE_THIS_WEEK

      public static final int TEMPLATE_THIS_WEEK
      See Also:
    • TEMPLATE_NEXT_WEEK

      public static final int TEMPLATE_NEXT_WEEK
      See Also:
    • TEMPLATE_LAST_WEEK

      public static final int TEMPLATE_LAST_WEEK
      See Also:
    • TEMPLATE_THIS_MONTH

      public static final int TEMPLATE_THIS_MONTH
      See Also:
    • TEMPLATE_ABOVE_AVERAGE

      public static final int TEMPLATE_ABOVE_AVERAGE
      See Also:
    • TEMPLATE_BELOW_AVERAGE

      public static final int TEMPLATE_BELOW_AVERAGE
      See Also:
    • TEMPLATE_DUPLICATE_VALUES

      public static final int TEMPLATE_DUPLICATE_VALUES
      See Also:
    • TEMPLATE_ABOVE_OR_EQUAL_TO_AVERAGE

      public static final int TEMPLATE_ABOVE_OR_EQUAL_TO_AVERAGE
      See Also:
    • TEMPLATE_BELOW_OR_EQUAL_TO_AVERAGE

      public static final int TEMPLATE_BELOW_OR_EQUAL_TO_AVERAGE
      See Also:
  • Method Details

    • getConditionType

      public byte getConditionType()
    • setComparisonOperation

      public void setComparisonOperation(byte operation)
    • getComparisonOperation

      public byte getComparisonOperation()
    • containsFontFormattingBlock

      public boolean containsFontFormattingBlock()
    • setFontFormatting

      public void setFontFormatting(FontFormatting fontFormatting)
    • getFontFormatting

      public FontFormatting getFontFormatting()
    • containsAlignFormattingBlock

      public boolean containsAlignFormattingBlock()
    • setAlignFormattingUnchanged

      public void setAlignFormattingUnchanged()
    • containsBorderFormattingBlock

      public boolean containsBorderFormattingBlock()
    • setBorderFormatting

      public void setBorderFormatting(BorderFormatting borderFormatting)
    • getBorderFormatting

      public BorderFormatting getBorderFormatting()
    • containsPatternFormattingBlock

      public boolean containsPatternFormattingBlock()
    • setPatternFormatting

      public void setPatternFormatting(PatternFormatting patternFormatting)
    • getPatternFormatting

      public PatternFormatting getPatternFormatting()
    • containsProtectionFormattingBlock

      public boolean containsProtectionFormattingBlock()
    • setProtectionFormattingUnchanged

      public void setProtectionFormattingUnchanged()
    • getOptions

      public int getOptions()
      get the option flags
      Returns:
      bit mask
    • isLeftBorderModified

      public boolean isLeftBorderModified()
    • setLeftBorderModified

      public void setLeftBorderModified(boolean modified)
    • isRightBorderModified

      public boolean isRightBorderModified()
    • setRightBorderModified

      public void setRightBorderModified(boolean modified)
    • isTopBorderModified

      public boolean isTopBorderModified()
    • setTopBorderModified

      public void setTopBorderModified(boolean modified)
    • isBottomBorderModified

      public boolean isBottomBorderModified()
    • setBottomBorderModified

      public void setBottomBorderModified(boolean modified)
    • isTopLeftBottomRightBorderModified

      public boolean isTopLeftBottomRightBorderModified()
    • setTopLeftBottomRightBorderModified

      public void setTopLeftBottomRightBorderModified(boolean modified)
    • isBottomLeftTopRightBorderModified

      public boolean isBottomLeftTopRightBorderModified()
    • setBottomLeftTopRightBorderModified

      public void setBottomLeftTopRightBorderModified(boolean modified)
    • isPatternStyleModified

      public boolean isPatternStyleModified()
    • setPatternStyleModified

      public void setPatternStyleModified(boolean modified)
    • isPatternColorModified

      public boolean isPatternColorModified()
    • setPatternColorModified

      public void setPatternColorModified(boolean modified)
    • isPatternBackgroundColorModified

      public boolean isPatternBackgroundColorModified()
    • setPatternBackgroundColorModified

      public void setPatternBackgroundColorModified(boolean modified)
    • getParsedExpression1

      public Ptg[] getParsedExpression1()
      get the stack of the 1st expression as a list
      Returns:
      list of tokens (casts stack to a list and returns it!) this method can return null is we are unable to create Ptgs from existing excel file callers should check for null!
    • setParsedExpression1

      public void setParsedExpression1(Ptg[] ptgs)
    • getParsedExpression2

      public Ptg[] getParsedExpression2()
      get the stack of the 2nd expression as a list
      Returns:
      array of Ptgs, possibly null
    • setParsedExpression2

      public void setParsedExpression2(Ptg[] ptgs)
    • parseFormula

      public static Ptg[] parseFormula(String formula, HSSFSheet sheet)
      TODO - parse conditional format formulas properly i.e. produce tRefN and tAreaN instead of tRef and tArea this call will produce the wrong results if the formula contains any cell references One approach might be to apply the inverse of SharedFormulaRecord.convertSharedFormulas(Stack, int, int) Note - two extra parameters (rowIx & colIx) will be required. They probably come from one of the Region objects.
      Parameters:
      formula - The formula to parse, excluding the leading equals sign.
      sheet - The sheet that the formula is on.
      Returns:
      null if formula was null.
    • copy

      public abstract CFRuleBase copy()
      Specified by:
      copy in interface org.apache.poi.common.Duplicatable
      Specified by:
      copy in class StandardRecord
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()