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
Enum Constants -
Method Summary
Modifier and TypeMethodDescriptionabstract TernaryValueand(TernaryValue that) Gets theandofthisandthat.static TernaryValueforBoolean(boolean val) Gets the TernaryValue for the given boolean.abstract TernaryValuenot()Gets thenotofthis.abstract TernaryValueor(TernaryValue that) Gets theorofthisandthat.abstract booleantoBoolean(boolean unknown) Convertsthisternary value to boolean.static TernaryValueReturns 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 TernaryValuexor(TernaryValue that) Gets thexorofthisandthat.
-
Enum Constant Details
-
FALSE
false -
TRUE
true -
UNKNOWN
unknown, it represents lack of knowledge about whether this value istrueorfalse.
-
-
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 theandofthisandthat. -
not
Gets thenotofthis. -
or
Gets theorofthisandthat. -
xor
Gets thexorofthisandthat. -
toBoolean
public abstract boolean toBoolean(boolean unknown) Convertsthisternary value to boolean. The#TRUEand#FALSEvalues are simply converted totrueandfalserespectively, whilst theUNKNOWNis converted to the specifiedunknownvalue.- Parameters:
unknown- the boolean value to which theUNKNOWNvalue is converted- Returns:
return this == TRUE ? true : this == FALSE ? false : unknown
-
forBoolean
Gets the TernaryValue for the given boolean.
-