Enum TernaryValue
- All Implemented Interfaces:
Serializable
,Comparable<TernaryValue>
,java.lang.constant.Constable
An enum for ternary logic. The TRUE
and FALSE
values
are equivalent to typical booleans, and the UNKNOWN
value plays the
role of a placeholder, which can be either TRUE
or
FALSE
.
A ternary value expression evaluates to TRUE
or
FALSE
only if all replacements of UNKNOWN
in this
expression yield the same result. Therefore, the ternary logic coincides
with typical Boolean logic if the UNKNOWN
value is not
present in an expression.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract TernaryValue
and
(TernaryValue that) Gets theand
ofthis
andthat
.static TernaryValue
forBoolean
(boolean val) Gets the TernaryValue for the given boolean.abstract TernaryValue
not()
Gets thenot
ofthis
.abstract TernaryValue
or
(TernaryValue that) Gets theor
ofthis
andthat
.abstract boolean
toBoolean
(boolean unknown) Convertsthis
ternary value to boolean.static TernaryValue
Returns the enum constant of this type with the specified name.static TernaryValue[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.abstract TernaryValue
xor
(TernaryValue that) Gets thexor
ofthis
andthat
.
-
Enum Constant Details
-
FALSE
false
-
TRUE
true
-
UNKNOWN
unknown
, it represents lack of knowledge about whether this value istrue
orfalse
.
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
and
Gets theand
ofthis
andthat
. -
not
Gets thenot
ofthis
. -
or
Gets theor
ofthis
andthat
. -
xor
Gets thexor
ofthis
andthat
. -
toBoolean
public abstract boolean toBoolean(boolean unknown) Convertsthis
ternary value to boolean. The#TRUE
and#FALSE
values are simply converted totrue
andfalse
respectively, whilst theUNKNOWN
is converted to the specifiedunknown
value.- Parameters:
unknown
- the boolean value to which theUNKNOWN
value is converted- Returns:
return this == TRUE ? true : this == FALSE ? false : unknown
-
forBoolean
Gets the TernaryValue for the given boolean.
-