Package org.apache.commons.compress.changes

# Class ChangeSetPerformer<I extends ArchiveInputStream<E>,O extends ArchiveOutputStream<E>,E extends ArchiveEntry>

java.lang.Object
org.apache.commons.compress.changes.ChangeSetPerformer<I,O,E>

Type Parameters:
  `I` - The `ArchiveInputStream` type.
  `O` - The `ArchiveOutputStream` type.
  `E` - The `ArchiveEntry` type, must be compatible between the input `I` and output `O` stream types.

public class ChangeSetPerformer<I extends ArchiveInputStream<E>,O extends ArchiveOutputStream<E>,E extends ArchiveEntry> extends Object
Performs ChangeSet operations on a stream. This class is thread safe and can be used multiple times. It operates on a copy of the ChangeSet. If the ChangeSet changes, a new Performer must be created.

This class is immutable
This class is thread-safe

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ChangeSetPerformer(ChangeSet<E> changeSet)`
  Constructs a ChangeSetPerformer with the changes from this ChangeSet

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ChangeSetResults`
  `perform(I inputStream, O outputStream)`
  Performs all changes collected in this ChangeSet on the input stream and streams the result to the output stream.
  `ChangeSetResults`
  `perform(ZipFile zipFile, O outputStream)`
  Performs all changes collected in this ChangeSet on the ZipFile and streams the result to the output stream.

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

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

- ## Constructor Details

  - ### ChangeSetPerformer

    public ChangeSetPerformer(ChangeSet<E> changeSet)
    Constructs a ChangeSetPerformer with the changes from this ChangeSet
    Parameters:
      `changeSet` - the ChangeSet which operations are used for performing

- ## Method Details

  - ### perform

    public ChangeSetResults perform(I inputStream, O outputStream) throws IOException
    Performs all changes collected in this ChangeSet on the input stream and streams the result to the output stream. Perform may be called more than once. This method finishes the stream, no other entries should be added after that.
    Parameters:
      `inputStream` - the InputStream to perform the changes on
      `outputStream` - the resulting OutputStream with all modifications
    Returns:
      the results of this operation
    Throws:
      `IOException` - if a read/write error occurs

  - ### perform

    public ChangeSetResults perform(ZipFile zipFile, O outputStream) throws IOException
    Performs all changes collected in this ChangeSet on the ZipFile and streams the result to the output stream. Perform may be called more than once. This method finishes the stream, no other entries should be added after that.
    Parameters:
      `zipFile` - the ZipFile to perform the changes on
      `outputStream` - the resulting OutputStream with all modifications
    Returns:
      the results of this operation
    Throws:
      `IOException` - if a read/write error occurs
    Since:
      1.5