Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * ====================================================================
   * Copyright (c) 2004-2006 TMate Software Ltd.  All rights reserved.
   *
   * This software is licensed as described in the file COPYING, which
   * you should have received as part of this distribution.  The terms
   * are also available at http://svnkit.com/license.html
   * If newer versions of this license are posted there, you may use a
   * newer version instead, at your option.
  * ====================================================================
  */
 package org.tmatesoft.svn.core.internal.delta;
 
 

Author(s):
TMate Software Ltd.
Version:
1.1.0
 
 public abstract class SVNDeltaAlgorithm {
 
     private ByteBuffer myNewData;
     private ByteBuffer myData;
     private int myNewDataLength;
     private int myInstructionsLength;
     
     public SVNDeltaAlgorithm() {
          = ByteBuffer.allocate(1024);
          = ByteBuffer.allocate(2048);
          = new SVNDiffInstruction(0,0,0);
     }
     
     public void reset() {
         .clear();
         .clear();
          = 0;
          = 0;
     }
 
     public abstract void computeDelta(byte[] aint aLengthbyte[] bint bLength);
     
     public ByteBuffer getData() {
         if (.position() > 0) {
              = ensureBufferSize(.position());
             .put(.array(), 0, .position());
             .clear();
         }
         .flip();
         return ;
     }
 
     public int getInstructionsLength() {
         return ;
     }
 
     public int getNewDataLength() {
         return ;
     }
 
     protected void copyFromSource(int positionint length) {
         . = position;
         . = length;
          = ensureBufferSize(, 10);
          = .position();
     }
 
     protected void copyFromTarget(int positionint length) {
         . = position;
         . = length;
          = ensureBufferSize(, 10);
          = .position();
     }
 
     protected void copyFromNewData(byte[] dataint offsetint length) {
         . = 0;
         . = length;
          = ensureBufferSize(, 10);
          = .position();
          = ensureBufferSize(length);
         .put(dataoffsetlength);
          += length;
     }
     
     private static ByteBuffer ensureBufferSize(ByteBuffer bufferint size) {
         if (buffer.remaining() < size) {
             ByteBuffer newBuffer = ByteBuffer.allocate((buffer.position() + size)*3/2);
             newBuffer.put(buffer.array(), 0, buffer.position());
             buffer = newBuffer;
         }
        return buffer;
    }
New to GrepCode? Check out our FAQ X