Package org.apache.poi.hssf.usermodel
Class HSSFConditionalFormattingRule
- java.lang.Object
-
- org.apache.poi.hssf.usermodel.HSSFConditionalFormattingRule
-
- All Implemented Interfaces:
ConditionalFormattingRule
,DifferentialStyleProvider
public final class HSSFConditionalFormattingRule extends java.lang.Object implements ConditionalFormattingRule
High level representation of Conditional Formatting Rule. It allows to specify formula based conditions for the Conditional Formatting and the formatting settings such as font, border and pattern.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HSSFBorderFormatting
createBorderFormatting()
create a new border formatting structure if it does not exist, otherwise just return existing object.HSSFColorScaleFormatting
createColorScaleFormatting()
create a new color scale / gradient formatting object if it does not exist, otherwise just return the existing object.HSSFDataBarFormatting
createDataBarFormatting()
create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object.HSSFFontFormatting
createFontFormatting()
create a new font formatting structure if it does not exist, otherwise just return existing object.HSSFIconMultiStateFormatting
createMultiStateFormatting()
create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object.HSSFPatternFormatting
createPatternFormatting()
create a new pattern formatting structure if it does not exist, otherwise just return existing object.HSSFBorderFormatting
getBorderFormatting()
HSSFColorScaleFormatting
getColorScaleFormatting()
byte
getComparisonOperation()
The comparison function used when the type of conditional formatting is set toConditionType.CELL_VALUE_IS
ConditionFilterType
getConditionFilterType()
always null (not a filter condition) orConditionFilterType.FILTER
if it is.ConditionType
getConditionType()
Type of conditional formatting rule.HSSFDataBarFormatting
getDataBarFormatting()
ConditionFilterData
getFilterConfiguration()
This is null ifHSSFFontFormatting
getFontFormatting()
java.lang.String
getFormula1()
The formula used to evaluate the first operand for the conditional formatting rule.java.lang.String
getFormula2()
The formula used to evaluate the second operand of the comparison when comparison type isConditionType.CELL_VALUE_IS
and operator is eitherComparisonOperator.BETWEEN
orComparisonOperator.NOT_BETWEEN
HSSFIconMultiStateFormatting
getMultiStateFormatting()
ExcelNumberFormat
getNumberFormat()
Always null for HSSF records, until someone figures out where to find itHSSFPatternFormatting
getPatternFormatting()
int
getPriority()
Only newer style formatting rules have priorities.boolean
getStopIfTrue()
Always true for HSSF files, per Microsoft Excel documentationint
getStripeSize()
Conditional format rules don't define stripes, so always 0java.lang.String
getText()
XSSF rules store textual condition values as an attribute and also as a formula that needs shifting.
-
-
-
Method Detail
-
getPriority
public int getPriority()
Only newer style formatting rules have priorities. For older ones, we don't know priority for these, other than definition/model order, which appears to be what Excel uses.- Specified by:
getPriority
in interfaceConditionalFormattingRule
- Returns:
- rule priority
- See Also:
ConditionalFormattingRule.getPriority()
-
getStopIfTrue
public boolean getStopIfTrue()
Always true for HSSF files, per Microsoft Excel documentation- Specified by:
getStopIfTrue
in interfaceConditionalFormattingRule
- Returns:
- true if conditional formatting rule processing stops when this one is true, false if not
- See Also:
ConditionalFormattingRule.getStopIfTrue()
-
getNumberFormat
public ExcelNumberFormat getNumberFormat()
Always null for HSSF records, until someone figures out where to find it- Specified by:
getNumberFormat
in interfaceConditionalFormattingRule
- Specified by:
getNumberFormat
in interfaceDifferentialStyleProvider
- Returns:
- number format defined for this rule, or null if the cell default should be used
- See Also:
ConditionalFormattingRule.getNumberFormat()
-
getFontFormatting
public HSSFFontFormatting getFontFormatting()
- Specified by:
getFontFormatting
in interfaceConditionalFormattingRule
- Specified by:
getFontFormatting
in interfaceDifferentialStyleProvider
- Returns:
- - font formatting object if defined,
null
otherwise
-
createFontFormatting
public HSSFFontFormatting createFontFormatting()
create a new font formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createFontFormatting
in interfaceConditionalFormattingRule
- Returns:
- - font formatting object, never returns
null
.
-
getBorderFormatting
public HSSFBorderFormatting getBorderFormatting()
- Specified by:
getBorderFormatting
in interfaceConditionalFormattingRule
- Specified by:
getBorderFormatting
in interfaceDifferentialStyleProvider
- Returns:
- - border formatting object if defined,
null
otherwise
-
createBorderFormatting
public HSSFBorderFormatting createBorderFormatting()
create a new border formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createBorderFormatting
in interfaceConditionalFormattingRule
- Returns:
- - border formatting object, never returns
null
.
-
getPatternFormatting
public HSSFPatternFormatting getPatternFormatting()
- Specified by:
getPatternFormatting
in interfaceConditionalFormattingRule
- Specified by:
getPatternFormatting
in interfaceDifferentialStyleProvider
- Returns:
- - pattern formatting object if defined,
null
otherwise
-
createPatternFormatting
public HSSFPatternFormatting createPatternFormatting()
create a new pattern formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createPatternFormatting
in interfaceConditionalFormattingRule
- Returns:
- - pattern formatting object, never returns
null
.
-
getDataBarFormatting
public HSSFDataBarFormatting getDataBarFormatting()
- Specified by:
getDataBarFormatting
in interfaceConditionalFormattingRule
- Returns:
- databar / data-bar formatting object if defined,
null
otherwise
-
createDataBarFormatting
public HSSFDataBarFormatting createDataBarFormatting()
create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object.
-
getMultiStateFormatting
public HSSFIconMultiStateFormatting getMultiStateFormatting()
- Specified by:
getMultiStateFormatting
in interfaceConditionalFormattingRule
- Returns:
- icon / multi-state formatting object if defined,
null
otherwise
-
createMultiStateFormatting
public HSSFIconMultiStateFormatting createMultiStateFormatting()
create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object.
-
getColorScaleFormatting
public HSSFColorScaleFormatting getColorScaleFormatting()
- Specified by:
getColorScaleFormatting
in interfaceConditionalFormattingRule
- Returns:
- color scale / gradient formatting object if defined,
null
otherwise
-
createColorScaleFormatting
public HSSFColorScaleFormatting createColorScaleFormatting()
create a new color scale / gradient formatting object if it does not exist, otherwise just return the existing object.
-
getConditionType
public ConditionType getConditionType()
Description copied from interface:ConditionalFormattingRule
Type of conditional formatting rule.- Specified by:
getConditionType
in interfaceConditionalFormattingRule
- Returns:
- - the conditiontype for the cfrule
-
getConditionFilterType
public ConditionFilterType getConditionFilterType()
always null (not a filter condition) orConditionFilterType.FILTER
if it is.- Specified by:
getConditionFilterType
in interfaceConditionalFormattingRule
- Returns:
- filter type for filter rules, or null if not a filter rule.
- See Also:
ConditionalFormattingRule.getConditionFilterType()
-
getFilterConfiguration
public ConditionFilterData getFilterConfiguration()
Description copied from interface:ConditionalFormattingRule
This is null ifConditionalFormattingRule.getConditionFilterType()
== nullThis means it is always null for HSSF, which does not define the extended condition types.
This object contains the additional configuration information for XSSF filter conditions.
- Specified by:
getFilterConfiguration
in interfaceConditionalFormattingRule
- Returns:
- the Filter Configuration Data, or null if there isn't any
-
getComparisonOperation
public byte getComparisonOperation()
Description copied from interface:ConditionalFormattingRule
The comparison function used when the type of conditional formatting is set toConditionType.CELL_VALUE_IS
MUST be a constant from
ComparisonOperator
- Specified by:
getComparisonOperation
in interfaceConditionalFormattingRule
- Returns:
- - the comparisionoperatation for the cfrule
-
getFormula1
public java.lang.String getFormula1()
Description copied from interface:ConditionalFormattingRule
The formula used to evaluate the first operand for the conditional formatting rule.If the condition type is
ConditionType.CELL_VALUE_IS
, this field is the first operand of the comparison. If type isConditionType.FORMULA
, this formula is used to determine if the conditional formatting is applied.If comparison type is
ConditionType.FORMULA
the formula MUST be a Boolean function- Specified by:
getFormula1
in interfaceConditionalFormattingRule
- Returns:
- the first formula
-
getFormula2
public java.lang.String getFormula2()
Description copied from interface:ConditionalFormattingRule
The formula used to evaluate the second operand of the comparison when comparison type isConditionType.CELL_VALUE_IS
and operator is eitherComparisonOperator.BETWEEN
orComparisonOperator.NOT_BETWEEN
- Specified by:
getFormula2
in interfaceConditionalFormattingRule
- Returns:
- the second formula
-
getText
public java.lang.String getText()
Description copied from interface:ConditionalFormattingRule
XSSF rules store textual condition values as an attribute and also as a formula that needs shifting. Using the attribute is simpler/faster. HSSF rules don't have this and return null. We can fall back on the formula for those (AFAIK).- Specified by:
getText
in interfaceConditionalFormattingRule
- Returns:
- condition text if it exists, or null
-
getStripeSize
public int getStripeSize()
Conditional format rules don't define stripes, so always 0- Specified by:
getStripeSize
in interfaceDifferentialStyleProvider
- Returns:
- number of rows/columns in a stripe for stripe styles, 0 for all others
- See Also:
DifferentialStyleProvider.getStripeSize()
-
-