Enum Class Tristate

java.lang.Object
java.lang.Enum<Tristate>
me.internalizable.numdrassl.api.permission.Tristate
All Implemented Interfaces:
Serializable, Comparable<Tristate>, Constable

public enum Tristate extends Enum<Tristate>
Represents a three-state permission value.

Unlike a simple boolean, Tristate allows distinguishing between an explicitly granted permission, an explicitly denied permission, and an undefined/inherited permission.

  • TRUE - Permission is explicitly granted
  • FALSE - Permission is explicitly denied
  • UNDEFINED - Permission is not set, defer to default or parent
  • Enum Constant Details

    • TRUE

      public static final Tristate TRUE
      Permission is explicitly granted.
    • FALSE

      public static final Tristate FALSE
      Permission is explicitly denied.
    • UNDEFINED

      public static final Tristate UNDEFINED
      Permission is not set, defer to default behavior.
  • 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
    • asBoolean

      public boolean asBoolean()
      Gets the boolean value of this tristate.

      UNDEFINED returns false.

      Returns:
      the boolean value
    • fromBoolean

      @Nonnull public static Tristate fromBoolean(boolean value)
      Converts a boolean to a Tristate.
      Parameters:
      value - the boolean value
      Returns:
      TRUE if true, FALSE if false
    • fromNullableBoolean

      @Nonnull public static Tristate fromNullableBoolean(Boolean value)
      Converts a nullable Boolean to a Tristate.
      Parameters:
      value - the boolean value, or null for undefined
      Returns:
      the corresponding Tristate