Class Timer

java.lang.Object
com.valhalla.sdk.api.util.Timer

public final class Timer extends Object
Monotonic, pause-aware duration timer with rate and formatting helpers.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a timer whose configured duration is zero.
    Timer(long durationMillis)
    Creates and starts a timer.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Returns elapsed milliseconds; compatibility alias for elapsedMillis().
    long
    Returns elapsed, non-paused monotonic time in milliseconds.
    boolean
    Returns whether elapsed time has reached the configured duration.
    Returns remaining time formatted as HH:mm:ss.
    Returns elapsed time formatted as HH:mm:ss.
    static String
    formatTime(long milliseconds)
    Formats a duration as hours, minutes, and seconds.
    long
    Returns the configured duration in milliseconds.
    int
    getHourlyRate(int current)
    Projects a current count to an integer hourly rate.
    long
    getLongHourlyRate(long current)
    Projects a current count to a long hourly rate.
    boolean
    Returns whether elapsed time has reached the configured duration.
    boolean
    Returns whether elapsed-time accumulation is paused.
    boolean
    Returns whether the configured duration has not yet elapsed.
    void
    Pauses elapsed-time accumulation without clearing it.
    long
    Returns remaining milliseconds; compatibility alias for remainingMillis().
    long
    Returns non-negative milliseconds remaining.
    void
    Clears elapsed time and resumes the timer from zero.
    void
    Resumes a paused timer without counting the paused interval.
    void
    setRunTime(long runtimeMillis)
    Replaces the configured duration without resetting elapsed time.
    void
    Starts the timer from zero.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Timer

      public Timer()
      Creates a timer whose configured duration is zero.
    • Timer

      public Timer(long durationMillis)
      Creates and starts a timer.
      Parameters:
      durationMillis - non-negative configured duration in milliseconds
  • Method Details

    • getDurationMillis

      public long getDurationMillis()
      Returns the configured duration in milliseconds.
      Returns:
      the configured duration in milliseconds
    • elapsedMillis

      public long elapsedMillis()
      Returns elapsed, non-paused monotonic time in milliseconds.
      Returns:
      elapsed, non-paused monotonic time in milliseconds
    • remainingMillis

      public long remainingMillis()
      Returns non-negative milliseconds remaining.
      Returns:
      non-negative milliseconds remaining
    • hasFinished

      public boolean hasFinished()
      Returns whether elapsed time has reached the configured duration.
      Returns:
      whether elapsed time has reached the configured duration
    • isRunning

      public boolean isRunning()
      Returns whether the configured duration has not yet elapsed.
      Returns:
      whether the configured duration has not yet elapsed
    • finished

      public boolean finished()
      Returns whether elapsed time has reached the configured duration.
      Returns:
      whether elapsed time has reached the configured duration
    • elapsed

      public long elapsed()
      Returns elapsed milliseconds; compatibility alias for elapsedMillis().
      Returns:
      elapsed milliseconds; compatibility alias for elapsedMillis()
    • remaining

      public long remaining()
      Returns remaining milliseconds; compatibility alias for remainingMillis().
      Returns:
      remaining milliseconds; compatibility alias for remainingMillis()
    • isPaused

      public boolean isPaused()
      Returns whether elapsed-time accumulation is paused.
      Returns:
      whether elapsed-time accumulation is paused
    • reset

      public void reset()
      Clears elapsed time and resumes the timer from zero.
    • start

      public void start()
      Starts the timer from zero.
    • pause

      public void pause()
      Pauses elapsed-time accumulation without clearing it.
    • resume

      public void resume()
      Resumes a paused timer without counting the paused interval.
    • setRunTime

      public void setRunTime(long runtimeMillis)
      Replaces the configured duration without resetting elapsed time.
      Parameters:
      runtimeMillis - non-negative duration in milliseconds
    • getHourlyRate

      public int getHourlyRate(int current)
      Projects a current count to an integer hourly rate.
      Parameters:
      current - count accumulated during this timer
      Returns:
      projected count per hour, saturated at Integer.MAX_VALUE
    • getLongHourlyRate

      public long getLongHourlyRate(long current)
      Projects a current count to a long hourly rate.
      Parameters:
      current - count accumulated during this timer
      Returns:
      projected count per hour, saturated at Long.MAX_VALUE
    • formatTime

      public String formatTime()
      Returns elapsed time formatted as HH:mm:ss.
      Returns:
      elapsed time formatted as HH:mm:ss
    • formatRemainingTime

      public String formatRemainingTime()
      Returns remaining time formatted as HH:mm:ss.
      Returns:
      remaining time formatted as HH:mm:ss
    • formatTime

      public static String formatTime(long milliseconds)
      Formats a duration as hours, minutes, and seconds.
      Parameters:
      milliseconds - duration in milliseconds; negative values become zero
      Returns:
      a HH:mm:ss string
    • toString

      public String toString()
      Overrides:
      toString in class Object