org.tmatesoft.svn.core.io.diff

## Class SVNDeltaProcessor

- java.lang.Object
- - org.tmatesoft.svn.core.io.diff.SVNDeltaProcessor

-     public class SVNDeltaProcessor
      extends java.lang.Object

  The SVNDeltaProcessor is used to get a full text of a file in series applying diff windows being passed to a processor.
  Since:
    1.2
  Version:
    1.3
  Author:
    TMate Software Ltd.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SVNDeltaProcessor()` Creates a processor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `applyTextDelta(java.io.File baseFile, java.io.File targetFile, boolean computeCheksum)` Starts processing deltas given a base file and a one to write resultant target bytes to.
    `void` | `applyTextDelta(java.io.InputStream baseIS, java.io.File targetFile, boolean computeTargetCheksum)` Starts processing deltas given a base file and a one to write resultant target bytes to.
    `void` | `applyTextDelta(java.io.InputStream base, java.io.OutputStream target, boolean computeCheksum)` Starts processing deltas given a base file stream and an output stream to write resultant target bytes to.
    `java.io.OutputStream` | `textDeltaChunk(SVNDiffWindow window)` Receives a next diff window to be applied.
    `java.lang.String` | `textDeltaEnd()` Performs delta processing finalizing steps.

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

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

- - ### Constructor Detail

    - #### SVNDeltaProcessor

          public SVNDeltaProcessor()

      Creates a processor.

  - ### Method Detail

    - #### applyTextDelta

          public void applyTextDelta(java.io.InputStream base,
                            java.io.OutputStream target,
                            boolean computeCheksum)

      Starts processing deltas given a base file stream and an output stream to write resultant target bytes to.

      If a target full text is a newly added file (text deltas would be vs. empty), then source bytes are not needed and `base` may be passed as null.

      If `computeChecksum` is true, then an MD5 checksum will be calculated for target bytes. The calculated checksum is returned by `textDeltaEnd()`.

      Parameters:
        `base` - an input stream to take base file contents from
        `target` - an output stream to write the resultant target contents to
        `computeCheksum` - true to calculate checksum

    - #### applyTextDelta

          public void applyTextDelta(java.io.File baseFile,
                            java.io.File targetFile,
                            boolean computeCheksum)
                              throws SVNException

      Starts processing deltas given a base file and a one to write resultant target bytes to.

      If a target full text is a newly added file (text deltas would be vs. empty), then source bytes are not needed and `baseFile` may be passed as null.

      If a file represented by `targetFile` does not exist yet, first tries to create an empty file.

      If `computeChecksum` is true, then an MD5 checksum will be calculated for target bytes. The calculated checksum is returned by `textDeltaEnd()`.

      Parameters:
        `baseFile` - a base file to read base file contents from
        `targetFile` - a destination file where resultant target bytes will be written
        `computeCheksum` - true to calculate checksum
      Throws:
        `SVNException`

    - #### applyTextDelta

          public void applyTextDelta(java.io.InputStream baseIS,
                            java.io.File targetFile,
                            boolean computeTargetCheksum)
                              throws SVNException

      Starts processing deltas given a base file and a one to write resultant target bytes to.

      If a target full text is a newly added file (text deltas would be vs. empty), then source bytes are not needed and `baseIS` may be passed as null.

      If a file represented by `targetFile` does not exist yet, first tries to create an empty file.

      If `computeTargetChecksum` is true, then an MD5 checksum will be calculated for target bytes. The calculated checksum is returned by `textDeltaEnd()`.

      Parameters:
        `baseIS` - an input stream to take base file contents from
        `targetFile` - a destination file where resultant target bytes will be written
        `computeTargetCheksum` - true to calculate checksum of the target text
      Throws:
        `SVNException`
      Since:
        1.3

    - #### textDeltaChunk

          public java.io.OutputStream textDeltaChunk(SVNDiffWindow window)
                                              throws SVNException

      Receives a next diff window to be applied. The return value is a dummy stream (left for backward compatibility) since new data should come within a diff window.
      Parameters:
        `window` - a diff window
      Returns:
        a dummy output stream
      Throws:
        `SVNException`

    - #### textDeltaEnd

          public java.lang.String textDeltaEnd()

      Performs delta processing finalizing steps. Applies the last window left (if any) and finalizes checksum calculation (if a checksum was required).
      Returns:
        a string representing a hex form of the calculated MD5 checksum or null if checksum calculation was not required