org.apache.commons.net.io

## Class CopyStreamEvent

- java.lang.Object
- - java.util.EventObject
  - - org.apache.commons.net.io.CopyStreamEvent

- All Implemented Interfaces:
    Serializable

      public class CopyStreamEvent
      extends EventObject

  A CopyStreamEvent is triggered after every write performed by a stream copying operation. The event stores the number of bytes transferred by the write triggering the event as well as the total number of bytes transferred so far by the copy operation.
  See Also:
    `CopyStreamListener`, `CopyStreamAdapter`, `Util`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static long` | `UNKNOWN_STREAM_SIZE` Constant used to indicate the stream size is unknown.

    - ### Fields inherited from class java.util.EventObject

      `source`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CopyStreamEvent(Object source, long totalBytesTransferred, int bytesTransferred, long streamSize)` Constructs a new instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getBytesTransferred()` Gets the number of bytes transferred by the write that triggered the event.
    `long` | `getStreamSize()` Gets the size of the stream being copied.
    `long` | `getTotalBytesTransferred()` Gets the total number of bytes transferred so far by the copy operation.
    `String` | `toString()`

    - ### Methods inherited from class java.util.EventObject

      `getSource`

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

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

- - ### Field Detail

    - #### UNKNOWN_STREAM_SIZE

          public static final long UNKNOWN_STREAM_SIZE

      Constant used to indicate the stream size is unknown.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CopyStreamEvent

          public CopyStreamEvent(Object source,
                                 long totalBytesTransferred,
                                 int bytesTransferred,
                                 long streamSize)

      Constructs a new instance.
      Parameters:
        `source` - The source of the event.
        `totalBytesTransferred` - The total number of bytes transferred so far during a copy operation.
        `bytesTransferred` - The number of bytes transferred during the write that triggered the CopyStreamEvent.
        `streamSize` - The number of bytes in the stream being copied. This may be set to `UNKNOWN_STREAM_SIZE` if the size is unknown.

  - ### Method Detail

    - #### getBytesTransferred

          public int getBytesTransferred()

      Gets the number of bytes transferred by the write that triggered the event.
      Returns:
        The number of bytes transferred by the write that triggered the vent.

    - #### getStreamSize

          public long getStreamSize()

      Gets the size of the stream being copied. This may be set to `UNKNOWN_STREAM_SIZE` if the size is unknown.
      Returns:
        The size of the stream being copied.

    - #### getTotalBytesTransferred

          public long getTotalBytesTransferred()

      Gets the total number of bytes transferred so far by the copy operation.
      Returns:
        The total number of bytes transferred so far by the copy operation.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `EventObject`