Enum Class TriState

java.lang.Object
java.lang.Enum<TriState>
com.oracle.truffle.api.utilities.TriState
All Implemented Interfaces:
Serializable, Comparable<TriState>, Constable

public enum TriState extends Enum<TriState>
An utility value with three states, TRUE, FALSE, and UNDEFINED. TriState is preferable to using a Boolean value with Boolean.TRUE, Boolean.FALSE and null, because Boolean has a public constructor which requires the use of Boolean.equals(Object) to compare the values. The comparison with Boolean.equals(Object) is too slow.
Since:
20.2
  • Enum Constant Details

    • TRUE

      public static final TriState TRUE
      The state is true. Similar to Boolean.TRUE.
      Since:
      20.2
    • FALSE

      public static final TriState FALSE
      The state is false. Similar to Boolean.FALSE.
      Since:
      20.2
    • UNDEFINED

      public static final TriState UNDEFINED
      The state is undefined. Similar to null.
      Since:
      20.2
  • Method Details

    • values

      public static TriState[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static TriState valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified name
      NullPointerException - if the argument is null
    • valueOf

      public static TriState valueOf(boolean b)
      Create a TriState from a primitive boolean.
      Since:
      20.2
    • valueOf

      public static TriState valueOf(Boolean b)
      Create a TriState from a boxed Boolean explicitely checking for null and returning UNDEFINED.
      Since:
      20.2