java.lang.Object
java.lang.Record
io.github.brantunger.unruly.api.language.Expression
Record Components:
ruleName - The rule's name
kind - Whether the expression is the rule's condition or its action
text - The expression's text, never blank when the engine compiles it

public record Expression(String ruleName, ExpressionKind kind, String text) extends Record
One condition or action of a rule, as an ExpressionCompiler compiles it: which rule it belongs to, whether it's the condition or the action, and its text. A language can name the rule in its own messages, and tell a condition from an action without being told separately.
  • Constructor Details

  • Method Details

    • equals

      public final boolean equals(@Nullable Object other)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      other - the object with which to compare
      Returns:
      true if this object is the same as the other argument; false otherwise.
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • ruleName

      public String ruleName()
      Returns the value of the ruleName record component.
      Returns:
      the value of the ruleName record component
    • kind

      public ExpressionKind kind()
      Returns the value of the kind record component.
      Returns:
      the value of the kind record component
    • text

      public String text()
      Returns the value of the text record component.
      Returns:
      the value of the text record component