org.tmatesoft.svn.core.io.diff
Class SVNDeltaProcessor

java.lang.Object
  extended by 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

Constructor Summary
SVNDeltaProcessor()
          Creates a processor.
 
Method Summary
 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