Package org.sunflow.system

## Interface UserInterface

- All Known Implementing Classes:
    `Benchmark`, `ConsoleInterface`, `SilentInterface`

      public interface UserInterface

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `print​(UI.Module m, UI.PrintLevel level, java.lang.String s)` | Displays some information to the user from the specified module with the specified print level.
    `void` | `taskStart​(java.lang.String s, int min, int max)` | Prepare a progress bar representing a lengthy task.
    `void` | `taskStop()` | Closes the current progress bar to indicate the task is over
    `void` | `taskUpdate​(int current)` | Updates the current progress bar to a value between the current min and max.

- - ### Method Detail

    - #### print

          void print​(UI.Module m,
                     UI.PrintLevel level,
                     java.lang.String s)

      Displays some information to the user from the specified module with the specified print level. A user interface is free to show or ignore any message. Level filtering is done in the core and shouldn't be re-implemented by the user interface. All messages will be short enough to fit on one line.
      Parameters:
        `m` - module the message came from
        `level` - seriousness of the message
        `s` - string to display

    - #### taskStart

          void taskStart​(java.lang.String s,
                         int min,
                         int max)

      Prepare a progress bar representing a lengthy task. The actual progress is first shown by the call to update and closed when update is closed with the max value. It is currently not possible to nest calls to setTask, so only one task needs to be tracked at a time.
      Parameters:
        `s` - desriptive string
        `min` - minimum value of the task
        `max` - maximum value of the task

    - #### taskUpdate

          void taskUpdate​(int current)

      Updates the current progress bar to a value between the current min and max. When min or max are passed the progressed bar is shown or hidden respectively.
      Parameters:
        `current` - current value of the task in progress.

    - #### taskStop

          void taskStop()

      Closes the current progress bar to indicate the task is over