Package org.apache.commons.compress.changes

# Class ChangeSet<E extends ArchiveEntry>

java.lang.Object
org.apache.commons.compress.changes.ChangeSet<E>

Type Parameters:
  `E` - The ArchiveEntry type.

public final class ChangeSet<E extends ArchiveEntry> extends Object
ChangeSet collects and performs changes to an archive. Putting delete changes in this ChangeSet from multiple threads can cause conflicts.

This class is not thread-safe

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(E entry, InputStream input)`
  Adds a new archive entry to the archive.
  `void`
  `add(E entry, InputStream input, boolean replace)`
  Adds a new archive entry to the archive.
  `void`
  `delete(String fileName)`
  Deletes the file with the file name from the archive.
  `void`
  `deleteDir(String dirName)`
  Deletes the directory tree from the archive.

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

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

- ## Constructor Details

  - ### ChangeSet

    public ChangeSet()
    Constructs a new instance.

- ## Method Details

  - ### add

    public void add(E entry, InputStream input)
    Adds a new archive entry to the archive.
    Parameters:
      `entry` - the entry to add
      `input` - the data stream to add

  - ### add

    public void add(E entry, InputStream input, boolean replace)
    Adds a new archive entry to the archive. If replace is set to true, this change will replace all other additions done in this ChangeSet and all existing entries in the original stream.
    Parameters:
      `entry` - the entry to add
      `input` - the data stream to add
      `replace` - indicates the this change should replace existing entries

  - ### delete

    public void delete(String fileName)
    Deletes the file with the file name from the archive.
    Parameters:
      `fileName` - the file name of the file to delete

  - ### deleteDir

    public void deleteDir(String dirName)
    Deletes the directory tree from the archive.
    Parameters:
      `dirName` - the name of the directory tree to delete