public enum TernaryValue extends java.lang.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(java.lang.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
falsepublic static final TernaryValue TRUE
truepublic 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(java.lang.String name)
name - the name of the enum constant to be returned.java.lang.IllegalArgumentException - if this enum type has no constant with the specified namejava.lang.NullPointerException - 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 :
unknownpublic static TernaryValue forBoolean(boolean val)
Copyright © 2009-2019 Google. All Rights Reserved.