Top Description Inners Fields Constructors Methods
org.apache.poi.ss.formula

pack-priv final Enum OperatorEnum

extends Enum<OperatorEnum>
Class Inheritance
Annotations
@Internal
Imports
org.apache.poi.util.Internal

Not calling it OperatorType to avoid confusion for now with other classes. Definition order matches OOXML type ID indexes. Note that this has NO_COMPARISON as the first item, unlike the similar DataValidation operator enum. Thanks, Microsoft.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static interface

Field Summary

Modifier and TypeField and Description
public static final OperatorEnum
private final OperatorEnum.CompareOp
public static final OperatorEnum
public static final OperatorEnum
public static final OperatorEnum
public static final OperatorEnum
public static final OperatorEnum
public static final OperatorEnum
public static final OperatorEnum
public static final OperatorEnum
private final boolean

Constructor Summary

AccessConstructor and Description
private
OperatorEnum(OperatorEnum.CompareOp compareOp, boolean validForIncompatibleTypes)

Method Summary

Modifier and TypeMethod and Description
private static <C extends Comparable<C>> boolean
between(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
equalCheck(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
greaterOrEqual(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
greaterThan(C cellValue, C v1, C v2)

pack-priv <C extends Comparable<C>> boolean

Returns:

true if the comparison is valid
isValid
(C
won't be null, assumption is previous checks handled that
cellValue
,
C
if null, per Excel behavior various results depending on the type of cellValue and the specific enum instance
v1
,
C
null if not needed. If null when needed, various results, per Excel behavior
v2
)

Evaluates comparison using operator instance rules

pack-priv boolean

Returns:

true if this comparison is true when the types to compare are different
isValidForIncompatibleTypes
()

Called when the cell and comparison values are of different data types Needed for negation operators, which should return true.

private static <C extends Comparable<C>> boolean
lessOrEqual(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
lessThan(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
noComp(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
notBetween(C cellValue, C v1, C v2)

private static <C extends Comparable<C>> boolean
notEqual(C cellValue, C v1, C v2)

public static OperatorEnum
public static OperatorEnum[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BETWEENback to summary
public static final OperatorEnum BETWEEN
compareOpback to summary
private final OperatorEnum.CompareOp compareOp
EQUALback to summary
public static final OperatorEnum EQUAL
GREATER_OR_EQUALback to summary
public static final OperatorEnum GREATER_OR_EQUAL
GREATER_THANback to summary
public static final OperatorEnum GREATER_THAN
LESS_OR_EQUALback to summary
public static final OperatorEnum LESS_OR_EQUAL
LESS_THANback to summary
public static final OperatorEnum LESS_THAN
NO_COMPARISONback to summary
public static final OperatorEnum NO_COMPARISON
NOT_BETWEENback to summary
public static final OperatorEnum NOT_BETWEEN
NOT_EQUALback to summary
public static final OperatorEnum NOT_EQUAL
validForIncompatibleTypesback to summary
private final boolean validForIncompatibleTypes

Constructor Detail

OperatorEnumback to summary
private OperatorEnum(OperatorEnum.CompareOp compareOp, boolean validForIncompatibleTypes)

Method Detail

betweenback to summary
private static <C extends Comparable<C>> boolean between(C cellValue, C v1, C v2)
equalCheckback to summary
private static <C extends Comparable<C>> boolean equalCheck(C cellValue, C v1, C v2)
greaterOrEqualback to summary
private static <C extends Comparable<C>> boolean greaterOrEqual(C cellValue, C v1, C v2)
greaterThanback to summary
private static <C extends Comparable<C>> boolean greaterThan(C cellValue, C v1, C v2)
isValidback to summary
pack-priv <C extends Comparable<C>> boolean isValid(C cellValue, C v1, C v2)

Evaluates comparison using operator instance rules

Parameters
cellValue:C

won't be null, assumption is previous checks handled that

v1:C

if null, per Excel behavior various results depending on the type of cellValue and the specific enum instance

v2:C

null if not needed. If null when needed, various results, per Excel behavior

Returns:boolean

true if the comparison is valid

isValidForIncompatibleTypesback to summary
pack-priv boolean isValidForIncompatibleTypes()

Called when the cell and comparison values are of different data types Needed for negation operators, which should return true.

Returns:boolean

true if this comparison is true when the types to compare are different

lessOrEqualback to summary
private static <C extends Comparable<C>> boolean lessOrEqual(C cellValue, C v1, C v2)
lessThanback to summary
private static <C extends Comparable<C>> boolean lessThan(C cellValue, C v1, C v2)
noCompback to summary
private static <C extends Comparable<C>> boolean noComp(C cellValue, C v1, C v2)
notBetweenback to summary
private static <C extends Comparable<C>> boolean notBetween(C cellValue, C v1, C v2)
notEqualback to summary
private static <C extends Comparable<C>> boolean notEqual(C cellValue, C v1, C v2)
valueOfback to summary
public static OperatorEnum valueOf(String name)
valuesback to summary
public static OperatorEnum[] values()
org.apache.poi.ss.formula back to summary

private Interface OperatorEnum.CompareOp


Method Summary

Modifier and TypeMethod and Description
public <C extends Comparable<C>> boolean
isValid(C cellValue, C v1, C v2)

Method Detail

isValidback to summary
public <C extends Comparable<C>> boolean isValid(C cellValue, C v1, C v2)