Package org.apache.commons.io.input

# Class TimestampedObserver

java.lang.Object
org.apache.commons.io.input.ObservableInputStream.Observer
org.apache.commons.io.input.TimestampedObserver

public class TimestampedObserver extends ObservableInputStream.Observer
An observer with timestamps.

For example:

     final TimestampedObserver timestampedObserver = new TimestampedObserver();
     try (ObservableInputStream inputStream = new ObservableInputStream(...),
         timestampedObserver)) {
         ...
     }
     System.out.printf("IO duration: %s%n", timestampedObserver.getOpenToCloseDuration());

Since:
  2.9.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TimestampedObserver()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `closed()`
  Called to indicate that the `ObservableInputStream` has been closed.
  `Instant`
  `getCloseInstant()`
  Gets the instant for when this instance was closed.
  `Instant`
  `getOpenInstant()`
  Gets the instant for when this instance was created.
  `Duration`
  `getOpenToCloseDuration()`
  Gets the Duration between creation and close.
  `Duration`
  `getOpenToNowDuration()`
  Gets the Duration between creation and now.
  `boolean`
  `isClosed()`
  Tests whether `closed()` has been called.
  `String`
  `toString()`

  ### Methods inherited from class org.apache.commons.io.input.ObservableInputStream.Observer

  `data, data, error, finished`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### TimestampedObserver

    public TimestampedObserver()
    Constructs a new instance.

- ## Method Details

  - ### closed

    public void closed() throws IOException
    Description copied from class: `ObservableInputStream.Observer`
    Called to indicate that the `ObservableInputStream` has been closed.
    Overrides:
      `closed` in class `ObservableInputStream.Observer`
    Throws:
      `IOException` - if an I/O error occurs.

  - ### getCloseInstant

    public Instant getCloseInstant()
    Gets the instant for when this instance was closed.
    Returns:
      the instant for when closed was called.

  - ### getOpenInstant

    public Instant getOpenInstant()
    Gets the instant for when this instance was created.
    Returns:
      the instant for when this instance was created.

  - ### getOpenToCloseDuration

    public Duration getOpenToCloseDuration()
    Gets the Duration between creation and close.
    Returns:
      the Duration between creation and close.

  - ### getOpenToNowDuration

    public Duration getOpenToNowDuration()
    Gets the Duration between creation and now.
    Returns:
      the Duration between creation and now.

  - ### isClosed

    public boolean isClosed()
    Tests whether `closed()` has been called.
    Returns:
      whether `closed()` has been called.
    Since:
      2.12.0

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`