• All Implemented Interfaces:
    StringBuilderFormattable

    public class Timer
    extends Object
    implements StringBuilderFormattable
    Primarily used in unit tests, but can be used to track elapsed time for a request or portion of any other operation so long as all the timer methods are called on the same thread in which it was started. Calling start on multiple threads will cause the times to be aggregated.
    • Constructor Detail

      • Timer

        public Timer​(String name)
        Constructor.
        Parameters:
        name - the timer name.
      • Timer

        public Timer​(String name,
                     int iterations)
        Constructor.
        Parameters:
        name - the timer name.
        iterations - the number of iterations that will take place.
    • Method Detail

      • start

        public void start()
        Start the timer.
      • startOrResume

        public void startOrResume()
      • stop

        public String stop()
        Stop the timer.
        Returns:
        the String result of the timer completing.
      • pause

        public void pause()
        Pause the timer.
      • resume

        public void resume()
        Resume the timer.
      • getName

        public String getName()
        Accessor for the name.
        Returns:
        the timer's name.
      • getElapsedTime

        public long getElapsedTime()
        Access the elapsed time.
        Returns:
        the elapsed time.
      • getElapsedNanoTime

        public long getElapsedNanoTime()
        Access the elapsed time.
        Returns:
        the elapsed time.
      • getStatus

        public Timer.Status getStatus()
        Returns the name of the last operation performed on this timer (Start, Stop, Pause or Resume).
        Returns:
        the string representing the last operation performed.
      • toString

        public String toString()
        Returns the String representation of the timer based upon its current state
        Overrides:
        toString in class Object
      • formatTo

        public void formatTo​(StringBuilder buffer)
        Description copied from interface: StringBuilderFormattable
        Writes a text representation of this object into the specified StringBuilder, ideally without allocating temporary objects.
        Specified by:
        formatTo in interface StringBuilderFormattable
        Parameters:
        buffer - the StringBuilder to write into
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object