org.apache.commons.net.io
Class CopyStreamAdapter
java.lang.Object
org.apache.commons.net.io.CopyStreamAdapter
- CopyStreamListener
public class CopyStreamAdapter
extends java.lang.Object
implements CopyStreamListener
The CopyStreamAdapter will relay CopyStreamEvents to a list of listeners
when either of its bytesTransferred() methods are called. Its purpose
is to facilitate the notification of the progress of a copy operation
performed by one of the static copyStream() methods in
org.apache.commons.io.Util to multiple listeners. The static
copyStream() methods invoke the
bytesTransfered(long, int) of a CopyStreamListener for performance
reasons and also because multiple listeners cannot be registered given
that the methods are static.
CopyStreamEvent
, CopyStreamListener
, Util
void | addCopyStreamListener(CopyStreamListener listener) - Registers a CopyStreamListener to receive CopyStreamEvents.
|
void | bytesTransferred(CopyStreamEvent event) - This method is invoked by a CopyStreamEvent source after copying
a block of bytes from a stream.
|
void | bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) - This method is not part of the JavaBeans model and is used by the
static methods in the org.apache.commons.io.Util class for efficiency.
|
void | removeCopyStreamListener(CopyStreamListener listener) - Unregisters a CopyStreamListener.
|
CopyStreamAdapter
public CopyStreamAdapter()
Creates a new copyStreamAdapter.
addCopyStreamListener
public void addCopyStreamListener(CopyStreamListener listener)
Registers a CopyStreamListener to receive CopyStreamEvents.
Although this method is not declared to be synchronized, it is
implemented in a thread safe manner.
listener
- The CopyStreamlistener to register.
bytesTransferred
public void bytesTransferred(CopyStreamEvent event)
This method is invoked by a CopyStreamEvent source after copying
a block of bytes from a stream. The CopyStreamEvent will contain
the total number of bytes transferred so far and the number of bytes
transferred in the last write. The CopyStreamAdapater will relay
the event to all of its registered listeners, listing itself as the
source of the event.
event
- The CopyStreamEvent fired by the copying of a block of
bytes.
bytesTransferred
public void bytesTransferred(long totalBytesTransferred,
int bytesTransferred,
long streamSize)
This method is not part of the JavaBeans model and is used by the
static methods in the org.apache.commons.io.Util class for efficiency.
It is invoked after a block of bytes to inform the listener of the
transfer. The CopyStreamAdapater will create a CopyStreamEvent
from the arguments and relay the event to all of its registered
listeners, listing itself as the source of the event.
totalBytesTransferred
- The total number of bytes transferred
so far by the copy operation.bytesTransferred
- The number of bytes copied by the most recent
write.streamSize
- The number of bytes in the stream being copied.
This may be equal to CopyStreamEvent.UNKNOWN_STREAM_SIZE if
the size is unknown.
removeCopyStreamListener
public void removeCopyStreamListener(CopyStreamListener listener)
Unregisters a CopyStreamListener. Although this method is not
synchronized, it is implemented in a thread safe manner.
listener
- The CopyStreamlistener to unregister.