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

public Class DVConstraint

extends Object
implements DataValidationConstraint
Class Inheritance
All Implemented Interfaces
org.apache.poi.ss.usermodel.DataValidationConstraint
Imports
java.text.ParseException, .SimpleDateFormat, java.util.Date, java.util.regex.Pattern, org.apache.poi.hssf.model.HSSFFormulaParser, org.apache.poi.hssf.record.DVRecord, org.apache.poi.ss.formula.FormulaRenderer, .FormulaRenderingWorkbook, .FormulaType, org.apache.poi.ss.formula.ptg.NumberPtg, .Ptg, .StringPtg, org.apache.poi.ss.usermodel.DataValidationConstraint, .DateUtil, org.apache.poi.util.LocaleUtil

Data Validation Constraint

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
private static class

Field Summary

Modifier and TypeField and Description
private String[]
private String
private String
private int
private final int
private Double
private Double

Constructor Summary

AccessConstructor and Description
private
DVConstraint(int validationType, int comparisonOperator, String formulaA, String formulaB, Double value1, Double value2, String[] explicitListValues)

private
DVConstraint(String listFormula, String[] explicitListValues)

Creates a list constraint

Method Summary

Modifier and TypeMethod and Description
private static Double

Returns:

null if timeStr is null
convertDate
(String dateStr, SimpleDateFormat
pass null for default YYYYMMDD
dateFormat
)

private static Ptg[]

Returns:

The parsed token array representing the formula or value specified. Empty array if both formula and value are null
convertDoubleFormula
(String formula, Double value, HSSFSheet sheet)

private static Double

Returns:

null if numberStr is null
convertNumber
(String numberStr)

private static Double

Returns:

null if timeStr is null
convertTime
(String timeStr)

public static DVConstraint
public static DVConstraint
createDateConstraint(int comparisonOperator, String
date formula (when first char is '=') or formatted date value
expr1
,
String
date formula (when first char is '=') or formatted date value
expr2
,
String
ignored if both expr1 and expr2 are formulas. Default value is "YYYY/MM/DD" otherwise any other valid argument for SimpleDateFormat can be used
dateFormat
)

Creates a date based data validation constraint.

pack-priv static DVConstraint
public static DVConstraint
createExplicitListConstraint(String[] explicitListValues)

public static DVConstraint
pack-priv DVConstraint.FormulaPair

Returns:

both parsed formulas (for expression 1 and 2).
createFormulas
(HSSFSheet sheet)

private Ptg[]
public static DVConstraint
createNumericConstraint(int validationType, int comparisonOperator, String
date formula (when first char is '=') or formatted number value
expr1
,
String
date formula (when first char is '=') or formatted number value
expr2
)

Creates a number based data validation constraint.

public static DVConstraint
createTimeConstraint(int comparisonOperator, String
date formula (when first char is '=') or formatted time value
expr1
,
String
date formula (when first char is '=') or formatted time value
expr2
)

Creates a time based data validation constraint.

public String[]
getExplicitListValues()

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.getExplicitListValues.

If validation type is ValidationType#LIST and formula1 was comma-separated literal values rather than a range or named range, returns list of literal values.

public String
public String
private static String

Returns:

all text after '=' if textExpr begins with '='. Otherwise null if textExpr does not begin with '='
getFormulaFromTextExpression
(String
a formula or value expression
textExpr
)

Distinguishes formula expressions from simple value expressions.

public int
public int
public Double

Returns:

the numeric value for expression 1. May be null
getValue1
()

public Double

Returns:

the numeric value for expression 2. May be null
getValue2
()

public boolean

Returns:

true if this constraint is a 'list' validation with explicit values
isExplicitList
()

Convenience method

public boolean

Returns:

true if this constraint is a 'list' validation
isListValidationType
()

Convenience method

public void
public void
setFormula1(String formula1)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setFormula1.

Sets a formula for expression 1.

public void
setFormula2(String formula2)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setFormula2.

Sets a formula for expression 2.

public void
setOperator(int operator)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setOperator.

Sets the comparison operator for this constraint

public void
setValue1(double value1)

Sets a numeric value for expression 1.

public void
setValue2(double value2)

Sets a numeric value for expression 2.

private static DVConstraint.FormulaValuePair
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_explicitListValuesback to summary
private String[] _explicitListValues
_formula1back to summary
private String _formula1
_formula2back to summary
private String _formula2
_operatorback to summary
private int _operator
_validationTypeback to summary
private final int _validationType
_value1back to summary
private Double _value1
_value2back to summary
private Double _value2

Constructor Detail

DVConstraintback to summary
private DVConstraint(int validationType, int comparisonOperator, String formulaA, String formulaB, Double value1, Double value2, String[] explicitListValues)
DVConstraintback to summary
private DVConstraint(String listFormula, String[] explicitListValues)

Creates a list constraint

Method Detail

convertDateback to summary
private static Double convertDate(String dateStr, SimpleDateFormat dateFormat)
Parameters
dateFormat:SimpleDateFormat

pass null for default YYYYMMDD

Returns:Double

null if timeStr is null

convertDoubleFormulaback to summary
private static Ptg[] convertDoubleFormula(String formula, Double value, HSSFSheet sheet)
Returns:Ptg[]

The parsed token array representing the formula or value specified. Empty array if both formula and value are null

Annotations
@SuppressWarnings:resource
convertNumberback to summary
private static Double convertNumber(String numberStr)
Returns:Double

null if numberStr is null

convertTimeback to summary
private static Double convertTime(String timeStr)
Returns:Double

null if timeStr is null

createCustomFormulaConstraintback to summary
public static DVConstraint createCustomFormulaConstraint(String formula)
createDateConstraintback to summary
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:int

constant from org.apache.poi.ss.usermodel.DataValidationConstraint.OperatorType enum

expr1:String

date formula (when first char is '=') or formatted date value

expr2:String

date formula (when first char is '=') or formatted date value

dateFormat:String

ignored if both expr1 and expr2 are formulas. Default value is "YYYY/MM/DD" otherwise any other valid argument for SimpleDateFormat can be used

See Also
SimpleDateFormat
createDVConstraintback to summary
pack-priv static DVConstraint createDVConstraint(DVRecord dvRecord, FormulaRenderingWorkbook book)
createExplicitListConstraintback to summary
public static DVConstraint createExplicitListConstraint(String[] explicitListValues)
createFormulaListConstraintback to summary
public static DVConstraint createFormulaListConstraint(String listFormula)
createFormulasback to summary
pack-priv DVConstraint.FormulaPair createFormulas(HSSFSheet sheet)
Returns:DVConstraint.FormulaPair

both parsed formulas (for expression 1 and 2).

createListFormulaback to summary
private Ptg[] createListFormula(HSSFSheet sheet)
Annotations
@SuppressWarnings:resource
createNumericConstraintback to summary
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:int

one of org.apache.poi.ss.usermodel.DataValidationConstraint.ValidationType#ANY, org.apache.poi.ss.usermodel.DataValidationConstraint.ValidationType#DECIMAL, org.apache.poi.ss.usermodel.DataValidationConstraint.ValidationType#INTEGER, org.apache.poi.ss.usermodel.DataValidationConstraint.ValidationType#TEXT_LENGTH

comparisonOperator:int

any constant from org.apache.poi.ss.usermodel.DataValidationConstraint.OperatorType enum

expr1:String

date formula (when first char is '=') or formatted number value

expr2:String

date formula (when first char is '=') or formatted number value

createTimeConstraintback to summary
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:int

constant from org.apache.poi.ss.usermodel.DataValidationConstraint.OperatorType enum

expr1:String

date formula (when first char is '=') or formatted time value

expr2:String

date formula (when first char is '=') or formatted time value

getExplicitListValuesback to summary
public String[] getExplicitListValues()

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.getExplicitListValues.

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.getExplicitListValues.

If validation type is ValidationType#LIST and formula1 was comma-separated literal values rather than a range or named range, returns list of literal values. Otherwise returns null.

Annotations
@Override
getFormula1back to summary
public String getFormula1()

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.getFormula1.

Returns:String

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.getFormula1.

the formula for expression 1. May be null

Annotations
@Override
getFormula2back to summary
public String getFormula2()

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.getFormula2.

Returns:String

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.getFormula2.

the formula for expression 2. May be null

Annotations
@Override
getFormulaFromTextExpressionback to summary
private static String getFormulaFromTextExpression(String textExpr)

Distinguishes formula expressions from simple value expressions. This logic is only required by a few factory methods in this class that create data validation constraints from more or less the same parameters that would have been entered in the Excel UI. The data validation dialog box uses the convention that formulas begin with '='. Other methods in this class follow the POI convention (formulas and values are distinct), so the '=' convention is not used there.

Parameters
textExpr:String

a formula or value expression

Returns:String

all text after '=' if textExpr begins with '='. Otherwise null if textExpr does not begin with '='

getOperatorback to summary
public int getOperator()

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.getOperator.

Returns:int

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.getOperator.

the operator used for this constraint

Annotations
@Override
getValidationTypeback to summary
public int getValidationType()

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.getValidationType.

Returns:int

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.getValidationType.

data validation type of this constraint

Annotations
@Override
getValue1back to summary
public Double getValue1()
Returns:Double

the numeric value for expression 1. May be null

getValue2back to summary
public Double getValue2()
Returns:Double

the numeric value for expression 2. May be null

isExplicitListback to summary
public boolean isExplicitList()

Convenience method

Returns:boolean

true if this constraint is a 'list' validation with explicit values

isListValidationTypeback to summary
public boolean isListValidationType()

Convenience method

Returns:boolean

true if this constraint is a 'list' validation

setExplicitListValuesback to summary
public void setExplicitListValues(String[] explicitListValues)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setExplicitListValues.

Annotations
@Override
setFormula1back to summary
public void setFormula1(String formula1)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setFormula1.

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.setFormula1.

Sets a formula for expression 1.

Annotations
@Override
setFormula2back to summary
public void setFormula2(String formula2)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setFormula2.

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.setFormula2.

Sets a formula for expression 2.

Annotations
@Override
setOperatorback to summary
public void setOperator(int operator)

Implements org.apache.poi.ss.usermodel.DataValidationConstraint.setOperator.

Doc from org.apache.poi.ss.usermodel.DataValidationConstraint.setOperator.

Sets the comparison operator for this constraint

Annotations
@Override
setValue1back to summary
public void setValue1(double value1)

Sets a numeric value for expression 1.

setValue2back to summary
public void setValue2(double value2)

Sets a numeric value for expression 2.

toFormulaStringback to summary
private static DVConstraint.FormulaValuePair toFormulaString(Ptg[] ptgs, FormulaRenderingWorkbook book)
org.apache.poi.hssf.usermodel back to summary

pack-priv final Class DVConstraint.FormulaPair

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final Ptg[]
private final Ptg[]

Constructor Summary

AccessConstructor and Description
pack-priv
FormulaPair(Ptg[] formula1, Ptg[] formula2)

Method Summary

Modifier and TypeMethod and Description
public Ptg[]
public Ptg[]
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_formula1back to summary
private final Ptg[] _formula1
_formula2back to summary
private final Ptg[] _formula2

Constructor Detail

FormulaPairback to summary
pack-priv FormulaPair(Ptg[] formula1, Ptg[] formula2)

Method Detail

getFormula1back to summary
public Ptg[] getFormula1()
getFormula2back to summary
public Ptg[] getFormula2()
org.apache.poi.hssf.usermodel back to summary

private Class DVConstraint.FormulaValuePair

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private String
private String

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public String
public String
public Double
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_formulaback to summary
private String _formula
_valueback to summary
private String _value

Constructor Detail

FormulaValuePairback to summary
private FormulaValuePair()

Method Detail

formulaback to summary
public String formula()
stringback to summary
public String string()
valueback to summary
public Double value()