JavaSVN Home

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

java.lang.Object
  extended byorg.tmatesoft.svn.core.io.diff.SVNDeltaGenerator

public class SVNDeltaGenerator
extends Object

The SVNDeltaGenerator is intended for generating diff windows of fixed size having a target version of a file against a source one. File contents are provided as two streams - source and target ones, or just target if delta is generated against empty contents.

The generator uses the V-Delta algorithm for generating full contents delta (vs. empty) and the X-Delta algorithm for generating delta as a difference between target and non-empty source streams.

Version:
1.1
Author:
TMate Software Ltd.

Constructor Summary
SVNDeltaGenerator()
          Creates a generator that will produce diff windows of 100Kbytes contents length.
SVNDeltaGenerator(int maximumDiffWindowSize)
          Creates a generator that will produce diff windows of a specified contents length.
 
Method Summary
 String sendDelta(String path, InputStream target, ISVNDeltaConsumer consumer, boolean computeChecksum)
          Generates a series of diff windows of fixed size comparing target bytes (from target stream) against an empty file and sends produced windows to the provided consumer.
 String sendDelta(String path, InputStream source, long sourceOffset, InputStream target, ISVNDeltaConsumer consumer, boolean computeChecksum)
          Generates a series of diff windows of fixed size comparing target bytes (read from target stream) against source bytes (read from source stream), and sends produced windows to the provided consumer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVNDeltaGenerator

public SVNDeltaGenerator()
Creates a generator that will produce diff windows of 100Kbytes contents length. That is, after applying of such a window you get 100Kbytes of file contents.

See Also:
SVNDeltaGenerator(int)

SVNDeltaGenerator

public SVNDeltaGenerator(int maximumDiffWindowSize)
Creates a generator that will produce diff windows of a specified contents length.

Parameters:
maximumDiffWindowSize - a maximum size of a file contents chunk that a single applied diff window would produce
Method Detail

sendDelta

public String sendDelta(String path,
                        InputStream target,
                        ISVNDeltaConsumer consumer,
                        boolean computeChecksum)
                 throws SVNException
Generates a series of diff windows of fixed size comparing target bytes (from target stream) against an empty file and sends produced windows to the provided consumer. consumer's textDeltaChunk() method is called to receive and process generated windows. Now new data comes within a window, so the output stream is either ignored (if it's null) or immediately closed (if it's not null).

If computeChecksum is true, the return value will be a strig containing a hex representation of the MD5 digest computed for the target contents.

Parameters:
path - a file repository path
target - an input stream to read target bytes from
consumer - a diff windows consumer
computeChecksum - true to compute a checksum
Returns:
if computeChecksum is true, a string representing a hex form of the MD5 checksum computed for the target contents; otherwise null
Throws:
SVNException

sendDelta

public String sendDelta(String path,
                        InputStream source,
                        long sourceOffset,
                        InputStream target,
                        ISVNDeltaConsumer consumer,
                        boolean computeChecksum)
                 throws SVNException
Generates a series of diff windows of fixed size comparing target bytes (read from target stream) against source bytes (read from source stream), and sends produced windows to the provided consumer. consumer's textDeltaChunk() method is called to receive and process generated windows. Now new data comes within a window, so the output stream is either ignored (if it's null) or immediately closed (if it's not null).

If computeChecksum is true, the return value will be a strig containing a hex representation of the MD5 digest computed for the target contents.

Parameters:
path - a file repository path
source - an input stream to read source bytes from
sourceOffset - an offset of the source view in the given source stream
target - an input stream to read target bytes from
consumer - a diff windows consumer
computeChecksum - true to compute a checksum
Returns:
if computeChecksum is true, a string representing a hex form of the MD5 checksum computed for the target contents; otherwise null
Throws:
SVNException

JavaSVN Home

Copyright © 2004-2006 TMate Software Ltd. All Rights Reserved.