Enum TernaryValue
- java.lang.Object
-
- java.lang.Enum<TernaryValue>
-
- com.google.javascript.rhino.jstype.TernaryValue
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<TernaryValue>
public enum TernaryValue extends java.lang.Enum<TernaryValue>
An enum for ternary logic. The
TRUE
andFALSE
values are equivalent to typical booleans, and theUNKNOWN
value plays the role of a placeholder, which can be eitherTRUE
orFALSE
.A ternary value expression evaluates to
TRUE
orFALSE
only if all replacements ofUNKNOWN
in this expression yield the same result. Therefore, the ternary logic coincides with typical Boolean logic if theUNKNOWN
value is not present in an expression.- See Also:
- Ternary Logic
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract 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
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 thexor
ofthis
andthat
.
-
-
-
Enum Constant Detail
-
FALSE
public static final TernaryValue FALSE
false
-
TRUE
public static final TernaryValue TRUE
true
-
UNKNOWN
public static final TernaryValue UNKNOWN
unknown
, it represents lack of knowledge about whether this value istrue
orfalse
.
-
-
Method Detail
-
values
public static TernaryValue[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TernaryValue c : TernaryValue.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static TernaryValue valueOf(java.lang.String name)
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:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
and
public abstract TernaryValue and(TernaryValue that)
Gets theand
ofthis
andthat
.
-
not
public abstract TernaryValue not()
Gets thenot
ofthis
.
-
or
public abstract TernaryValue or(TernaryValue that)
Gets theor
ofthis
andthat
.
-
xor
public abstract TernaryValue xor(TernaryValue that)
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
public static TernaryValue forBoolean(boolean val)
Gets the TernaryValue for the given boolean.
-
-