Class SVNDiffInstruction


  • public class SVNDiffInstruction
    extends java.lang.Object
    The SVNDiffInstruction class represents instructions used as delta applying rules.

    For now there are three types of copy instructions:

    • COPY_FROM_SOURCE: that is when bytes are copied from a source view (for example, existing revision of a file) to the target one.
    • COPY_FROM_NEW_DATA: new data bytes (e.g. new text) are copied to the target view.
    • COPY_FROM_TARGET: that is, when a sequence of bytes in the target must be repeated.
    These are three different ways how full text representation bytes are obtained.
    Since:
    1.2
    Version:
    1.3
    Author:
    TMate Software Ltd.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int COPY_FROM_NEW_DATA
      A type of an instruction that says that data must be copied from the new data to the target view.
      static int COPY_FROM_SOURCE
      A type of an instruction that says that data must be copied from the source view to the target one.
      static int COPY_FROM_TARGET
      A type of an instruction that says that data must be copied from the target view to the target itself.
      int length
      A length bytes to copy.
      int offset
      An offset in the source from where the bytes should be copied.
      int type
      A type of this instruction.
    • Constructor Summary

      Constructors 
      Constructor Description
      SVNDiffInstruction()
      Creates a new instruction object.
      SVNDiffInstruction​(int t, int l, int o)
      Creates a particular type of a diff instruction.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String toString()
      Gives a string representation of this object.
      static void writeInt​(java.nio.ByteBuffer os, int i)
      Writes an integer to a byte buffer.
      static void writeLong​(java.nio.ByteBuffer os, long i)
      Writes a long to a byte buffer.
      void writeTo​(java.nio.ByteBuffer target)
      Wirtes this instruction to a byte buffer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • COPY_FROM_SOURCE

        public static final int COPY_FROM_SOURCE
        A type of an instruction that says that data must be copied from the source view to the target one.
        See Also:
        Constant Field Values
      • COPY_FROM_TARGET

        public static final int COPY_FROM_TARGET
        A type of an instruction that says that data must be copied from the target view to the target itself.
        See Also:
        Constant Field Values
      • COPY_FROM_NEW_DATA

        public static final int COPY_FROM_NEW_DATA
        A type of an instruction that says that data must be copied from the new data to the target view.
        See Also:
        Constant Field Values
      • type

        public int type
        A type of this instruction.
      • length

        public int length
        A length bytes to copy.
      • offset

        public int offset
        An offset in the source from where the bytes should be copied. Instruction offsets are relative to the bounds of views, i.e. a source/target view is a window of bytes (specified in a concrete diff window) in the source/target stream (this can be a file, a buffer).
    • Constructor Detail

      • SVNDiffInstruction

        public SVNDiffInstruction​(int t,
                                  int l,
                                  int o)
        Creates a particular type of a diff instruction. Instruction offsets are relative to the bounds of views, i.e. a source/target view is a window of bytes (specified in a concrete diff window) in the source/target stream (this can be a file, a buffer).
        Parameters:
        t - a type of an instruction
        l - a number of bytes to copy
        o - an offset in the source (which may be a source or a target view, or a new data stream) from where the bytes are to be copied
        See Also:
        SVNDiffWindow
      • SVNDiffInstruction

        public SVNDiffInstruction()
        Creates a new instruction object. It's the instruction for the empty contents file.
    • Method Detail

      • toString

        public java.lang.String toString()
        Gives a string representation of this object.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of this object
      • writeTo

        public void writeTo​(java.nio.ByteBuffer target)
        Wirtes this instruction to a byte buffer.
        Parameters:
        target - a byte buffer to write to
      • writeInt

        public static void writeInt​(java.nio.ByteBuffer os,
                                    int i)
        Writes an integer to a byte buffer.
        Parameters:
        os - a byte buffer to write to
        i - an integer to write
      • writeLong

        public static void writeLong​(java.nio.ByteBuffer os,
                                     long i)
        Writes a long to a byte buffer.
        Parameters:
        os - a byte buffer to write to
        i - a long number to write