Record Class TasksTUI.State

java.lang.Object
java.lang.Record
com.guinetik.hexafun.examples.tasks.tui.TasksTUI.State
Enclosing class:
TasksTUI

public static record TasksTUI.State(TaskApp app, int width, String status, String statusColor, boolean running) extends Record
Immutable TUI state. All state transitions return new State instances.
  • Constructor Details

    • State

      public State(TaskApp app, int width, String status, String statusColor, boolean running)
      Creates an instance of a State record class.
      Parameters:
      app - the value for the app record component
      width - the value for the width record component
      status - the value for the status record component
      statusColor - the value for the statusColor record component
      running - the value for the running record component
  • Method Details

    • initial

      public static TasksTUI.State initial(TaskApp app)
      Create initial state
    • withStatus

      public TasksTUI.State withStatus(String msg, String color)
      State transitions - all return new State
    • withWidth

      public TasksTUI.State withWidth(int w)
    • refreshWidth

      public TasksTUI.State refreshWidth()
    • stop

      public TasksTUI.State stop()
    • isKanban

      public boolean isKanban()
      Derived state
    • tasks

      public List<Task> tasks()
    • byStatus

      public List<Task> byStatus(TaskStatus s)
    • 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
    • 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
    • equals

      public final boolean equals(Object o)
      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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • app

      public TaskApp app()
      Returns the value of the app record component.
      Returns:
      the value of the app record component
    • width

      public int width()
      Returns the value of the width record component.
      Returns:
      the value of the width record component
    • status

      public String status()
      Returns the value of the status record component.
      Returns:
      the value of the status record component
    • statusColor

      public String statusColor()
      Returns the value of the statusColor record component.
      Returns:
      the value of the statusColor record component
    • running

      public boolean running()
      Returns the value of the running record component.
      Returns:
      the value of the running record component