Top Description Inners Fields Constructors Methods
org.apache.poi.hssf.record

public abstract Class CFRuleBase

extends StandardRecord
Class Inheritance
Known Direct Subclasses
org.apache.poi.hssf.record.CFRuleRecord, org.apache.poi.hssf.record.CFRule12Record
Imports
java.util.Map, java.util.function.Supplier, org.apache.logging.log4j.LogManager, .Logger, org.apache.poi.hssf.model.HSSFFormulaParser, org.apache.poi.hssf.record.cf.BorderFormatting, .FontFormatting, .PatternFormatting, org.apache.poi.hssf.usermodel.HSSFSheet, org.apache.poi.ss.formula.Formula, .FormulaType, org.apache.poi.ss.formula.ptg.Ptg, org.apache.poi.util.BitField, .BitFieldFactory, .GenericRecordUtil, .LittleEndianOutput

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.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface

Field Summary

Modifier and TypeField and Description
protected BorderFormatting
protected FontFormatting
protected PatternFormatting
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
private byte
private byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
pack-priv static final BitField
pack-priv static final BitField
protected short
protected int
private Formula
private Formula
protected static final Logger
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
pack-priv static final BitField
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
pack-priv static final BitField

Constructor Summary

AccessConstructor and Description
protected
CFRuleBase(byte
the condition type
conditionType
,
byte
the comparison operation
comparisonOperation
)

Creates new CFRuleRecord

protected
CFRuleBase(byte conditionType, byte comparisonOperation, Ptg[] formula1, Ptg[] formula2)

protected
protected

Method Summary

Modifier and TypeMethod and Description
private static BitField
bf(int i)

public boolean
public boolean
public boolean
public boolean
public boolean
public abstract CFRuleBase
public BorderFormatting
public byte
public byte
public FontFormatting
protected int
protected Formula
protected Formula
protected static int

Returns:

encoded size of the formula tokens (does not include 2 bytes for ushort length)
getFormulaSize
(Formula
must not be null
formula
)

public Map<String, Supplier<?>>
private boolean
public int

Returns:

bit mask
getOptions
()

get the option flags

public Ptg[]

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!
getParsedExpression1
()

get the stack of the 1st expression as a list

public Ptg[]

Returns:

array of Ptgs, possibly null
getParsedExpression2
()

get the stack of the 2nd expression as a list

public PatternFormatting
public boolean
public boolean
public boolean
private boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public static Ptg[]

Returns:

null if formula was null.
parseFormula
(String
The formula to parse, excluding the leading equals sign.
formula
,
HSSFSheet
The sheet that the formula is on.
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.

protected int
protected void
public void
public void
public void
setBottomBorderModified(boolean modified)

public void
public void
setComparisonOperation(byte operation)

protected void
setConditionType(byte condition_type)

public void
protected void
setFormula1(Formula formula1)

protected void
setFormula2(Formula formula2)

public void
setLeftBorderModified(boolean modified)

private void
setModified(boolean modified, BitField field)

private void
setOptionFlag(boolean flag, BitField field)

public void
public void
public void
public void
setPatternColorModified(boolean modified)

public void
public void
setPatternStyleModified(boolean modified)

public void
public void
setRightBorderModified(boolean modified)

public void
setTopBorderModified(boolean modified)

public void
Inherited from org.apache.poi.hssf.record.StandardRecord:
getDataSizegetRecordSizeserializeserialize

Field Detail

_borderFormattingback to summary
protected BorderFormatting _borderFormatting
_fontFormattingback to summary
protected FontFormatting _fontFormatting
_patternFormattingback to summary
protected PatternFormatting _patternFormatting
alignback to summary
pack-priv static final BitField align
alignHorback to summary
pack-priv static final BitField alignHor
alignIndentback to summary
pack-priv static final BitField alignIndent
alignJustLastback to summary
pack-priv static final BitField alignJustLast
alignRotback to summary
pack-priv static final BitField alignRot
alignShrinback to summary
pack-priv static final BitField alignShrin
alignTextDirback to summary
pack-priv static final BitField alignTextDir
alignVerback to summary
pack-priv static final BitField alignVer
alignWrapback to summary
pack-priv static final BitField alignWrap
bordback to summary
pack-priv static final BitField bord
bordBlTrback to summary
pack-priv static final BitField bordBlTr
bordBotback to summary
pack-priv static final BitField bordBot
bordLeftback to summary
pack-priv static final BitField bordLeft
bordRightback to summary
pack-priv static final BitField bordRight
bordTlBrback to summary
pack-priv static final BitField bordTlBr
bordTopback to summary
pack-priv static final BitField bordTop
comparison_operatorback to summary
private byte comparison_operator
condition_typeback to summary
private byte condition_type
CONDITION_TYPE_CELL_VALUE_ISback to summary
public static final byte CONDITION_TYPE_CELL_VALUE_IS
CONDITION_TYPE_COLOR_SCALEback to summary
public static final byte CONDITION_TYPE_COLOR_SCALE
CONDITION_TYPE_DATA_BARback to summary
public static final byte CONDITION_TYPE_DATA_BAR
CONDITION_TYPE_FILTERback to summary
public static final byte CONDITION_TYPE_FILTER
CONDITION_TYPE_FORMULAback to summary
public static final byte CONDITION_TYPE_FORMULA
CONDITION_TYPE_ICON_SETback to summary
public static final byte CONDITION_TYPE_ICON_SET
fmtBlockBitsback to summary
pack-priv static final BitField fmtBlockBits
fontback to summary
pack-priv static final BitField font
formatting_not_usedback to summary
protected short formatting_not_used
formatting_optionsback to summary
protected int formatting_options
formula1back to summary
private Formula formula1
formula2back to summary
private Formula formula2
LOGback to summary
protected static final Logger LOG
mergeCellback to summary
pack-priv static final BitField mergeCell
modificationBitsback to summary
pack-priv static final BitField modificationBits
notUsed2back to summary
pack-priv static final BitField notUsed2
pattback to summary
pack-priv static final BitField patt
pattBgColback to summary
pack-priv static final BitField pattBgCol
pattColback to summary
pack-priv static final BitField pattCol
pattStyleback to summary
pack-priv static final BitField pattStyle
protback to summary
pack-priv static final BitField prot
protHiddenback to summary
pack-priv static final BitField protHidden
protLockedback to summary
pack-priv static final BitField protLocked
TEMPLATE_ABOVE_AVERAGEback to summary
public static final int TEMPLATE_ABOVE_AVERAGE
TEMPLATE_ABOVE_OR_EQUAL_TO_AVERAGEback to summary
public static final int TEMPLATE_ABOVE_OR_EQUAL_TO_AVERAGE
TEMPLATE_BELOW_AVERAGEback to summary
public static final int TEMPLATE_BELOW_AVERAGE
TEMPLATE_BELOW_OR_EQUAL_TO_AVERAGEback to summary
public static final int TEMPLATE_BELOW_OR_EQUAL_TO_AVERAGE
TEMPLATE_CELL_VALUEback to summary
public static final int TEMPLATE_CELL_VALUE
TEMPLATE_COLOR_SCALE_FORMATTINGback to summary
public static final int TEMPLATE_COLOR_SCALE_FORMATTING
TEMPLATE_CONTAINS_BLANKSback to summary
public static final int TEMPLATE_CONTAINS_BLANKS
TEMPLATE_CONTAINS_ERRORSback to summary
public static final int TEMPLATE_CONTAINS_ERRORS
TEMPLATE_CONTAINS_NO_BLANKSback to summary
public static final int TEMPLATE_CONTAINS_NO_BLANKS
TEMPLATE_CONTAINS_NO_ERRORSback to summary
public static final int TEMPLATE_CONTAINS_NO_ERRORS
TEMPLATE_CONTAINS_TEXTback to summary
public static final int TEMPLATE_CONTAINS_TEXT
TEMPLATE_DATA_BAR_FORMATTINGback to summary
public static final int TEMPLATE_DATA_BAR_FORMATTING
TEMPLATE_DUPLICATE_VALUESback to summary
public static final int TEMPLATE_DUPLICATE_VALUES
TEMPLATE_FILTERback to summary
public static final int TEMPLATE_FILTER
TEMPLATE_FORMULAback to summary
public static final int TEMPLATE_FORMULA
TEMPLATE_ICON_SET_FORMATTINGback to summary
public static final int TEMPLATE_ICON_SET_FORMATTING
TEMPLATE_LAST_7_DAYSback to summary
public static final int TEMPLATE_LAST_7_DAYS
TEMPLATE_LAST_MONTHback to summary
public static final int TEMPLATE_LAST_MONTH
TEMPLATE_LAST_WEEKback to summary
public static final int TEMPLATE_LAST_WEEK
TEMPLATE_NEXT_MONTHback to summary
public static final int TEMPLATE_NEXT_MONTH
TEMPLATE_NEXT_WEEKback to summary
public static final int TEMPLATE_NEXT_WEEK
TEMPLATE_THIS_MONTHback to summary
public static final int TEMPLATE_THIS_MONTH
TEMPLATE_THIS_WEEKback to summary
public static final int TEMPLATE_THIS_WEEK
TEMPLATE_TODAYback to summary
public static final int TEMPLATE_TODAY
TEMPLATE_TOMORROWback to summary
public static final int TEMPLATE_TOMORROW
TEMPLATE_UNIQUE_VALUESback to summary
public static final int TEMPLATE_UNIQUE_VALUES
TEMPLATE_YESTERDAYback to summary
public static final int TEMPLATE_YESTERDAY
undocumentedback to summary
pack-priv static final BitField undocumented

Constructor Detail

CFRuleBaseback to summary
protected CFRuleBase(byte conditionType, byte comparisonOperation)

Creates new CFRuleRecord

Parameters
conditionType:byte

the condition type

comparisonOperation:byte

the comparison operation

CFRuleBaseback to summary
protected CFRuleBase(byte conditionType, byte comparisonOperation, Ptg[] formula1, Ptg[] formula2)
CFRuleBaseback to summary
protected CFRuleBase()
CFRuleBaseback to summary
protected CFRuleBase(CFRuleBase other)

Method Detail

bfback to summary
private static BitField bf(int i)
containsAlignFormattingBlockback to summary
public boolean containsAlignFormattingBlock()
containsBorderFormattingBlockback to summary
public boolean containsBorderFormattingBlock()
containsFontFormattingBlockback to summary
public boolean containsFontFormattingBlock()
containsPatternFormattingBlockback to summary
public boolean containsPatternFormattingBlock()
containsProtectionFormattingBlockback to summary
public boolean containsProtectionFormattingBlock()
copyback to summary
public abstract CFRuleBase copy()

Redeclares org.apache.poi.common.Duplicatable.copy.

Implements abstract org.apache.poi.hssf.record.StandardRecord.copy.

Returns:CFRuleBase

Doc from org.apache.poi.common.Duplicatable.copy.

a deep copy of the implementing class / instance

Annotations
@Override
getBorderFormattingback to summary
public BorderFormatting getBorderFormatting()
getComparisonOperationback to summary
public byte getComparisonOperation()
getConditionTypeback to summary
public byte getConditionType()
getFontFormattingback to summary
public FontFormatting getFontFormatting()
getFormattingBlockSizeback to summary
protected int getFormattingBlockSize()
getFormula1back to summary
protected Formula getFormula1()
getFormula2back to summary
protected Formula getFormula2()
getFormulaSizeback to summary
protected static int getFormulaSize(Formula formula)
Parameters
formula:Formula

must not be null

Returns:int

encoded size of the formula tokens (does not include 2 bytes for ushort length)

getGenericPropertiesback to summary
public Map<String, Supplier<?>> getGenericProperties()

Implements org.apache.poi.common.usermodel.GenericRecord.getGenericProperties.

Annotations
@Override
getOptionFlagback to summary
private boolean getOptionFlag(BitField field)
getOptionsback to summary
public int getOptions()

get the option flags

Returns:int

bit mask

getParsedExpression1back to summary
public Ptg[] getParsedExpression1()

get the stack of the 1st expression as a list

Returns:Ptg[]

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!

getParsedExpression2back to summary
public Ptg[] getParsedExpression2()

get the stack of the 2nd expression as a list

Returns:Ptg[]

array of Ptgs, possibly null

getPatternFormattingback to summary
public PatternFormatting getPatternFormatting()
isBottomBorderModifiedback to summary
public boolean isBottomBorderModified()
isBottomLeftTopRightBorderModifiedback to summary
public boolean isBottomLeftTopRightBorderModified()
isLeftBorderModifiedback to summary
public boolean isLeftBorderModified()
isModifiedback to summary
private boolean isModified(BitField field)
isPatternBackgroundColorModifiedback to summary
public boolean isPatternBackgroundColorModified()
isPatternColorModifiedback to summary
public boolean isPatternColorModified()
isPatternStyleModifiedback to summary
public boolean isPatternStyleModified()
isRightBorderModifiedback to summary
public boolean isRightBorderModified()
isTopBorderModifiedback to summary
public boolean isTopBorderModified()
isTopLeftBottomRightBorderModifiedback to summary
public boolean isTopLeftBottomRightBorderModified()
parseFormulaback to summary
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:String

The formula to parse, excluding the leading equals sign.

sheet:HSSFSheet

The sheet that the formula is on.

Returns:Ptg[]

null if formula was null.

readFormatOptionsback to summary
protected int readFormatOptions(RecordInputStream in)
serializeFormattingBlockback to summary
protected void serializeFormattingBlock(LittleEndianOutput out)
setAlignFormattingUnchangedback to summary
public void setAlignFormattingUnchanged()
setBorderFormattingback to summary
public void setBorderFormatting(BorderFormatting borderFormatting)
setBottomBorderModifiedback to summary
public void setBottomBorderModified(boolean modified)
setBottomLeftTopRightBorderModifiedback to summary
public void setBottomLeftTopRightBorderModified(boolean modified)
setComparisonOperationback to summary
public void setComparisonOperation(byte operation)
setConditionTypeback to summary
protected void setConditionType(byte condition_type)
setFontFormattingback to summary
public void setFontFormatting(FontFormatting fontFormatting)
setFormula1back to summary
protected void setFormula1(Formula formula1)
setFormula2back to summary
protected void setFormula2(Formula formula2)
setLeftBorderModifiedback to summary
public void setLeftBorderModified(boolean modified)
setModifiedback to summary
private void setModified(boolean modified, BitField field)
setOptionFlagback to summary
private void setOptionFlag(boolean flag, BitField field)
setParsedExpression1back to summary
public void setParsedExpression1(Ptg[] ptgs)
setParsedExpression2back to summary
public void setParsedExpression2(Ptg[] ptgs)
setPatternBackgroundColorModifiedback to summary
public void setPatternBackgroundColorModified(boolean modified)
setPatternColorModifiedback to summary
public void setPatternColorModified(boolean modified)
setPatternFormattingback to summary
public void setPatternFormatting(PatternFormatting patternFormatting)
setPatternStyleModifiedback to summary
public void setPatternStyleModified(boolean modified)
setProtectionFormattingUnchangedback to summary
public void setProtectionFormattingUnchanged()
setRightBorderModifiedback to summary
public void setRightBorderModified(boolean modified)
setTopBorderModifiedback to summary
public void setTopBorderModified(boolean modified)
setTopLeftBottomRightBorderModifiedback to summary
public void setTopLeftBottomRightBorderModified(boolean modified)
org.apache.poi.hssf.record back to summary

public Interface CFRuleBase.ComparisonOperator


Field Summary

Modifier and TypeField and Description
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte
public static final byte

Field Detail

BETWEENback to summary
public static final byte BETWEEN
EQUALback to summary
public static final byte EQUAL
GEback to summary
public static final byte GE
GTback to summary
public static final byte GT
LEback to summary
public static final byte LE
LTback to summary
public static final byte LT
max_operatorback to summary
public static final byte max_operator
NO_COMPARISONback to summary
public static final byte NO_COMPARISON
NOT_BETWEENback to summary
public static final byte NOT_BETWEEN
NOT_EQUALback to summary
public static final byte NOT_EQUAL