public enum TernaryValue extends Enum<TernaryValue>
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.
Enum Constant and Description |
---|
FALSE
false |
TRUE
true |
UNKNOWN
unknown , it represents lack of knowledge about whether this value
is true or false . |
Modifier and Type | Method and Description |
---|---|
abstract TernaryValue |
and(TernaryValue that)
Gets the
and of this and that . |
static TernaryValue |
forBoolean(boolean val)
Gets the TernaryValue for the given boolean.
|
abstract TernaryValue |
not()
Gets the
not of this . |
abstract TernaryValue |
or(TernaryValue that)
Gets the
or of this and that . |
abstract boolean |
toBoolean(boolean unknown)
Converts
this ternary value to boolean. |
static TernaryValue |
valueOf(String name)
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 the
xor of this and that . |
public static final TernaryValue FALSE
false
public static final TernaryValue TRUE
true
public static final TernaryValue UNKNOWN
unknown
, it represents lack of knowledge about whether this value
is true
or false
.public static TernaryValue[] values()
for (TernaryValue c : TernaryValue.values()) System.out.println(c);
public static TernaryValue valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic abstract TernaryValue and(TernaryValue that)
and
of this
and that
.public abstract TernaryValue not()
not
of this
.public abstract TernaryValue or(TernaryValue that)
or
of this
and that
.public abstract TernaryValue xor(TernaryValue that)
xor
of this
and that
.public abstract boolean toBoolean(boolean unknown)
this
ternary value to boolean. The #TRUE
and
#FALSE
values are simply converted to true
and
false
respectively, whilst the UNKNOWN
is converted
to the specified unknown
value.unknown
- the boolean value to which the UNKNOWN
value is
convertedreturn this == TRUE ? true : this == FALSE ? false : unknown
public static TernaryValue forBoolean(boolean val)
Copyright © 2009–2023 Google. All rights reserved.