Package 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
  Description
  `static final 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
  Description
  `CopyStreamEvent(Object source, long totalBytesTransferred, int bytesTransferred, long streamSize)`
  Creates a new CopyStreamEvent instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getBytesTransferred()`
  Returns the number of bytes transferred by the write that triggered the event.
  `long`
  `getStreamSize()`
  Returns the size of the stream being copied.
  `long`
  `getTotalBytesTransferred()`
  Returns 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 Details

  - ### 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 Details

  - ### CopyStreamEvent

    public CopyStreamEvent(Object source, long totalBytesTransferred, int bytesTransferred, long streamSize)
    Creates a new CopyStreamEvent 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 Details

  - ### getBytesTransferred

    public int getBytesTransferred()
    Returns 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()
    Returns 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()
    Returns 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`
    Since:
      3.0