Class TernaryConditionalExpression

java.lang.Object
team.unnamed.mocha.parser.ast.TernaryConditionalExpression
All Implemented Interfaces:
Expression

public final class TernaryConditionalExpression extends Object implements Expression
Ternary conditional expression implementation, similar to "if {...} else {...}" expressions in other languages.

If the conditional expression evaluates to a truthy value, then trueExpression is evaluated as the result, otherwise, falseExpression is.

Example ternary conditional expressions: true ? 1 : 0, (age > 18) ? 'adult' : 'minor', open ? 'open' : 'closed'

Since:
3.0.0
  • Constructor Details

    • TernaryConditionalExpression

      public TernaryConditionalExpression(@NotNull @NotNull Expression conditional, @NotNull @NotNull Expression trueExpression, @NotNull @NotNull Expression falseExpression)
  • Method Details

    • condition

      @NotNull public @NotNull Expression condition()
      Gets the expression condition.
      Since:
      3.0.0
    • condition

      public void condition(@NotNull @NotNull Expression condition)
      Sets the expression condition.
      Parameters:
      condition - The condition
      Since:
      3.0.0
    • trueExpression

      @NotNull public @NotNull Expression trueExpression()
      Gets the expression that should be used when condition is evaluated as a truthy value.
      Since:
      3.0.0
    • trueExpression

      public void trueExpression(@NotNull @NotNull Expression trueExpression)
      Sets the expression that should be used when condition is evaluated as a truthy value.
      Parameters:
      trueExpression - The true expression
      Since:
      3.0.0
    • falseExpression

      @NotNull public @NotNull Expression falseExpression()
      Gets the expression that should be used when condition is evaluated as a falsy value.
      Since:
      3.0.0
    • falseExpression

      public void falseExpression(@NotNull @NotNull Expression falseExpression)
      Sets the expression that should be used when condition is evaluated as a falsy value.
      Parameters:
      falseExpression - The false expression
      Since:
      3.0.0
    • visit

      public <R> R visit(@NotNull @NotNull ExpressionVisitor<R> visitor)
      Description copied from interface: Expression
      Visits this expression with the given visitor.
      Specified by:
      visit in interface Expression
      Type Parameters:
      R - The visit result return type
      Parameters:
      visitor - The expression visitor
      Returns:
      The visit result
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object