Package org.apache.poi.hssf.record
Class CFRuleBase
- java.lang.Object
-
- org.apache.poi.hssf.record.RecordBase
-
- org.apache.poi.hssf.record.Record
-
- org.apache.poi.hssf.record.StandardRecord
-
- org.apache.poi.hssf.record.CFRuleBase
-
- All Implemented Interfaces:
Duplicatable
,GenericRecord
- Direct Known Subclasses:
CFRule12Record
,CFRuleRecord
public abstract class CFRuleBase extends StandardRecord
Conditional Formatting Rules. This can hold old-style rulesThis is for the older-style Excel conditional formattings, new-style (Excel 2007+) also make use of
CFRule12Record
for their rules.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
CFRuleBase.ComparisonOperator
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protected
CFRuleBase()
protected
CFRuleBase(byte conditionType, byte comparisonOperation)
Creates new CFRuleRecordprotected
CFRuleBase(byte conditionType, byte comparisonOperation, Ptg[] formula1, Ptg[] formula2)
protected
CFRuleBase(CFRuleBase other)
-
Method Summary
-
Methods inherited from class org.apache.poi.hssf.record.StandardRecord
getDataSize, getRecordSize, serialize, serialize
-
Methods inherited from class org.apache.poi.hssf.record.Record
cloneViaReserialise, getGenericRecordType, getSid, serialize, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericChildren
-
-
-
-
Field Detail
-
CONDITION_TYPE_CELL_VALUE_IS
public static final byte CONDITION_TYPE_CELL_VALUE_IS
- See Also:
- Constant Field Values
-
CONDITION_TYPE_FORMULA
public static final byte CONDITION_TYPE_FORMULA
- See Also:
- Constant Field Values
-
CONDITION_TYPE_COLOR_SCALE
public static final byte CONDITION_TYPE_COLOR_SCALE
- See Also:
- Constant Field Values
-
CONDITION_TYPE_DATA_BAR
public static final byte CONDITION_TYPE_DATA_BAR
- See Also:
- Constant Field Values
-
CONDITION_TYPE_FILTER
public static final byte CONDITION_TYPE_FILTER
- See Also:
- Constant Field Values
-
CONDITION_TYPE_ICON_SET
public static final byte CONDITION_TYPE_ICON_SET
- See Also:
- Constant Field Values
-
TEMPLATE_CELL_VALUE
public static final int TEMPLATE_CELL_VALUE
- See Also:
- Constant Field Values
-
TEMPLATE_FORMULA
public static final int TEMPLATE_FORMULA
- See Also:
- Constant Field Values
-
TEMPLATE_COLOR_SCALE_FORMATTING
public static final int TEMPLATE_COLOR_SCALE_FORMATTING
- See Also:
- Constant Field Values
-
TEMPLATE_DATA_BAR_FORMATTING
public static final int TEMPLATE_DATA_BAR_FORMATTING
- See Also:
- Constant Field Values
-
TEMPLATE_ICON_SET_FORMATTING
public static final int TEMPLATE_ICON_SET_FORMATTING
- See Also:
- Constant Field Values
-
TEMPLATE_FILTER
public static final int TEMPLATE_FILTER
- See Also:
- Constant Field Values
-
TEMPLATE_UNIQUE_VALUES
public static final int TEMPLATE_UNIQUE_VALUES
- See Also:
- Constant Field Values
-
TEMPLATE_CONTAINS_TEXT
public static final int TEMPLATE_CONTAINS_TEXT
- See Also:
- Constant Field Values
-
TEMPLATE_CONTAINS_BLANKS
public static final int TEMPLATE_CONTAINS_BLANKS
- See Also:
- Constant Field Values
-
TEMPLATE_CONTAINS_NO_BLANKS
public static final int TEMPLATE_CONTAINS_NO_BLANKS
- See Also:
- Constant Field Values
-
TEMPLATE_CONTAINS_ERRORS
public static final int TEMPLATE_CONTAINS_ERRORS
- See Also:
- Constant Field Values
-
TEMPLATE_CONTAINS_NO_ERRORS
public static final int TEMPLATE_CONTAINS_NO_ERRORS
- See Also:
- Constant Field Values
-
TEMPLATE_TODAY
public static final int TEMPLATE_TODAY
- See Also:
- Constant Field Values
-
TEMPLATE_TOMORROW
public static final int TEMPLATE_TOMORROW
- See Also:
- Constant Field Values
-
TEMPLATE_YESTERDAY
public static final int TEMPLATE_YESTERDAY
- See Also:
- Constant Field Values
-
TEMPLATE_LAST_7_DAYS
public static final int TEMPLATE_LAST_7_DAYS
- See Also:
- Constant Field Values
-
TEMPLATE_LAST_MONTH
public static final int TEMPLATE_LAST_MONTH
- See Also:
- Constant Field Values
-
TEMPLATE_NEXT_MONTH
public static final int TEMPLATE_NEXT_MONTH
- See Also:
- Constant Field Values
-
TEMPLATE_THIS_WEEK
public static final int TEMPLATE_THIS_WEEK
- See Also:
- Constant Field Values
-
TEMPLATE_NEXT_WEEK
public static final int TEMPLATE_NEXT_WEEK
- See Also:
- Constant Field Values
-
TEMPLATE_LAST_WEEK
public static final int TEMPLATE_LAST_WEEK
- See Also:
- Constant Field Values
-
TEMPLATE_THIS_MONTH
public static final int TEMPLATE_THIS_MONTH
- See Also:
- Constant Field Values
-
TEMPLATE_ABOVE_AVERAGE
public static final int TEMPLATE_ABOVE_AVERAGE
- See Also:
- Constant Field Values
-
TEMPLATE_BELOW_AVERAGE
public static final int TEMPLATE_BELOW_AVERAGE
- See Also:
- Constant Field Values
-
TEMPLATE_DUPLICATE_VALUES
public static final int TEMPLATE_DUPLICATE_VALUES
- See Also:
- Constant Field Values
-
TEMPLATE_ABOVE_OR_EQUAL_TO_AVERAGE
public static final int TEMPLATE_ABOVE_OR_EQUAL_TO_AVERAGE
- See Also:
- Constant Field Values
-
TEMPLATE_BELOW_OR_EQUAL_TO_AVERAGE
public static final int TEMPLATE_BELOW_OR_EQUAL_TO_AVERAGE
- See Also:
- Constant Field Values
-
LOG
protected static final org.apache.logging.log4j.Logger LOG
-
formatting_options
protected int formatting_options
-
formatting_not_used
protected short formatting_not_used
-
_fontFormatting
protected FontFormatting _fontFormatting
-
_borderFormatting
protected BorderFormatting _borderFormatting
-
_patternFormatting
protected PatternFormatting _patternFormatting
-
-
Constructor Detail
-
CFRuleBase
protected CFRuleBase(byte conditionType, byte comparisonOperation)
Creates new CFRuleRecord- Parameters:
conditionType
- the condition typecomparisonOperation
- the comparison operation
-
CFRuleBase
protected CFRuleBase(byte conditionType, byte comparisonOperation, Ptg[] formula1, Ptg[] formula2)
-
CFRuleBase
protected CFRuleBase()
-
CFRuleBase
protected CFRuleBase(CFRuleBase other)
-
-
Method Detail
-
readFormatOptions
protected int readFormatOptions(RecordInputStream in)
-
getConditionType
public byte getConditionType()
-
setConditionType
protected void setConditionType(byte condition_type)
-
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)
-
getFormattingBlockSize
protected int getFormattingBlockSize()
-
serializeFormattingBlock
protected void serializeFormattingBlock(LittleEndianOutput out)
-
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)
-
getFormula1
protected Formula getFormula1()
-
setFormula1
protected void setFormula1(Formula formula1)
-
getParsedExpression2
public Ptg[] getParsedExpression2()
get the stack of the 2nd expression as a list- Returns:
- array of
Ptg
s, possiblynull
-
setParsedExpression2
public void setParsedExpression2(Ptg[] ptgs)
-
getFormula2
protected Formula getFormula2()
-
setFormula2
protected void setFormula2(Formula formula2)
-
getFormulaSize
protected static int getFormulaSize(Formula formula)
- Parameters:
formula
- must not benull
- Returns:
- encoded size of the formula tokens (does not include 2 bytes for ushort length)
-
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
ifformula
was null.
-
copy
public abstract CFRuleBase copy()
- Specified by:
copy
in interfaceDuplicatable
- Specified by:
copy
in classStandardRecord
- Returns:
- a deep copy of the implementing class / instance
-
-