Package org.apache.poi.hssf.usermodel
Class DVConstraint
- java.lang.Object
-
- org.apache.poi.hssf.usermodel.DVConstraint
-
- All Implemented Interfaces:
DataValidationConstraint
public class DVConstraint extends Object implements DataValidationConstraint
Data Validation Constraint
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.poi.ss.usermodel.DataValidationConstraint
DataValidationConstraint.OperatorType, DataValidationConstraint.ValidationType
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DVConstraint
createCustomFormulaConstraint(String formula)
static DVConstraint
createDateConstraint(int comparisonOperator, String expr1, String expr2, String dateFormat)
Creates a date based data validation constraint.static DVConstraint
createExplicitListConstraint(String[] explicitListValues)
static DVConstraint
createFormulaListConstraint(String listFormula)
static DVConstraint
createNumericConstraint(int validationType, int comparisonOperator, String expr1, String expr2)
Creates a number based data validation constraint.static DVConstraint
createTimeConstraint(int comparisonOperator, String expr1, String expr2)
Creates a time based data validation constraint.String[]
getExplicitListValues()
If validation type isDataValidationConstraint.ValidationType.LIST
andformula1
was comma-separated literal values rather than a range or named range, returns list of literal values.String
getFormula1()
String
getFormula2()
int
getOperator()
int
getValidationType()
Double
getValue1()
Double
getValue2()
boolean
isExplicitList()
Convenience methodboolean
isListValidationType()
Convenience methodvoid
setExplicitListValues(String[] explicitListValues)
void
setFormula1(String formula1)
Sets a formula for expression 1.void
setFormula2(String formula2)
Sets a formula for expression 2.void
setOperator(int operator)
Sets the comparison operator for this constraintvoid
setValue1(double value1)
Sets a numeric value for expression 1.void
setValue2(double value2)
Sets a numeric value for expression 2.
-
-
-
Method Detail
-
createNumericConstraint
public static DVConstraint createNumericConstraint(int validationType, int comparisonOperator, String expr1, String expr2)
Creates a number based data validation constraint. The text values entered for expr1 and expr2 can be either standard Excel formulas or formatted number values. If the expression starts with '=' it is parsed as a formula, otherwise it is parsed as a formatted number.- Parameters:
validationType
- one ofDataValidationConstraint.ValidationType.ANY
,DataValidationConstraint.ValidationType.DECIMAL
,DataValidationConstraint.ValidationType.INTEGER
,DataValidationConstraint.ValidationType.TEXT_LENGTH
comparisonOperator
- any constant fromDataValidationConstraint.OperatorType
enumexpr1
- date formula (when first char is '=') or formatted number valueexpr2
- date formula (when first char is '=') or formatted number value
-
createFormulaListConstraint
public static DVConstraint createFormulaListConstraint(String listFormula)
-
createExplicitListConstraint
public static DVConstraint createExplicitListConstraint(String[] explicitListValues)
-
createTimeConstraint
public static DVConstraint createTimeConstraint(int comparisonOperator, String expr1, String expr2)
Creates a time based data validation constraint. The text values entered for expr1 and expr2 can be either standard Excel formulas or formatted time values. If the expression starts with '=' it is parsed as a formula, otherwise it is parsed as a formatted time. To parse formatted times, two formats are supported: "HH:MM" or "HH:MM:SS". This is contrary to Excel which uses the default time format from the OS.- Parameters:
comparisonOperator
- constant fromDataValidationConstraint.OperatorType
enumexpr1
- date formula (when first char is '=') or formatted time valueexpr2
- date formula (when first char is '=') or formatted time value
-
createDateConstraint
public static DVConstraint createDateConstraint(int comparisonOperator, String expr1, String expr2, String dateFormat)
Creates a date based data validation constraint. The text values entered for expr1 and expr2 can be either standard Excel formulas or formatted date values. If the expression starts with '=' it is parsed as a formula, otherwise it is parsed as a formatted date (Excel uses the same convention). To parse formatted dates, a date format needs to be specified. This is contrary to Excel which uses the default short date format from the OS.- Parameters:
comparisonOperator
- constant fromDataValidationConstraint.OperatorType
enumexpr1
- date formula (when first char is '=') or formatted date valueexpr2
- date formula (when first char is '=') or formatted date valuedateFormat
- ignored if both expr1 and expr2 are formulas. Default value is "YYYY/MM/DD" otherwise any other valid argument forSimpleDateFormat
can be used- See Also:
- SimpleDateFormat
-
createCustomFormulaConstraint
public static DVConstraint createCustomFormulaConstraint(String formula)
-
getValidationType
public int getValidationType()
- Specified by:
getValidationType
in interfaceDataValidationConstraint
- Returns:
- data validation type of this constraint
- See Also:
DataValidationConstraint.ValidationType
-
isListValidationType
public boolean isListValidationType()
Convenience method- Returns:
true
if this constraint is a 'list' validation
-
isExplicitList
public boolean isExplicitList()
Convenience method- Returns:
true
if this constraint is a 'list' validation with explicit values
-
getOperator
public int getOperator()
- Specified by:
getOperator
in interfaceDataValidationConstraint
- Returns:
- the operator used for this constraint
- See Also:
DataValidationConstraint.OperatorType
-
setOperator
public void setOperator(int operator)
Description copied from interface:DataValidationConstraint
Sets the comparison operator for this constraint- Specified by:
setOperator
in interfaceDataValidationConstraint
- See Also:
DataValidationConstraint.OperatorType
-
getExplicitListValues
public String[] getExplicitListValues()
Description copied from interface:DataValidationConstraint
If validation type isDataValidationConstraint.ValidationType.LIST
andformula1
was comma-separated literal values rather than a range or named range, returns list of literal values. Otherwise returnsnull
.- Specified by:
getExplicitListValues
in interfaceDataValidationConstraint
-
setExplicitListValues
public void setExplicitListValues(String[] explicitListValues)
- Specified by:
setExplicitListValues
in interfaceDataValidationConstraint
-
getFormula1
public String getFormula1()
- Specified by:
getFormula1
in interfaceDataValidationConstraint
- Returns:
- the formula for expression 1. May be
null
-
setFormula1
public void setFormula1(String formula1)
Description copied from interface:DataValidationConstraint
Sets a formula for expression 1.- Specified by:
setFormula1
in interfaceDataValidationConstraint
-
getFormula2
public String getFormula2()
- Specified by:
getFormula2
in interfaceDataValidationConstraint
- Returns:
- the formula for expression 2. May be
null
-
setFormula2
public void setFormula2(String formula2)
Description copied from interface:DataValidationConstraint
Sets a formula for expression 2.- Specified by:
setFormula2
in interfaceDataValidationConstraint
-
getValue1
public Double getValue1()
- Returns:
- the numeric value for expression 1. May be
null
-
setValue1
public void setValue1(double value1)
Sets a numeric value for expression 1.
-
getValue2
public Double getValue2()
- Returns:
- the numeric value for expression 2. May be
null
-
setValue2
public void setValue2(double value2)
Sets a numeric value for expression 2.
-
-