Class Chunk


  • public class Chunk
    extends ToString
    Holds a information about a part of the text involved in a differencing or patching operation.
    Version:
    $Id: Chunk.java,v 1.1 2006/03/12 00:24:21 juanca Exp $
    Author:
    Juanco Anez
    See Also:
    Diff, Delta
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int anchor  
      protected List<Object> chunk  
      protected int count  
    • Constructor Summary

      Constructors 
      Constructor Description
      Chunk​(int pos, int count)
      Creates a chunk that doesn't copy the original text.
      Chunk​(Object[] iseq, int pos, int count)
      Creates a chunk and saves a copy the original chunk's text.
      Chunk​(Object[] iseq, int pos, int count, int offset)
      Creates a chunk that will be displaced in the resulting text, and saves a copy the original chunk's text.
      Chunk​(List<Object> iseq, int pos, int count)
      Creates a chunk and saves a copy the original chunk's text.
      Chunk​(List<Object> iseq, int pos, int count, int offset)
      Creates a chunk that will be displaced in the resulting text, and saves a copy the original chunk's text.
    • Constructor Detail

      • Chunk

        public Chunk​(int pos,
                     int count)
        Creates a chunk that doesn't copy the original text.
        Parameters:
        pos - the start position in the text.
        count - the size of the chunk.
      • Chunk

        public Chunk​(Object[] iseq,
                     int pos,
                     int count)
        Creates a chunk and saves a copy the original chunk's text.
        Parameters:
        iseq - the original text.
        pos - the start position in the text.
        count - the size of the chunk.
      • Chunk

        public Chunk​(Object[] iseq,
                     int pos,
                     int count,
                     int offset)
        Creates a chunk that will be displaced in the resulting text, and saves a copy the original chunk's text.
        Parameters:
        iseq - the original text.
        pos - the start position in the text.
        count - the size of the chunk.
        offset - the position the chunk should have in the resulting text.
      • Chunk

        public Chunk​(List<Object> iseq,
                     int pos,
                     int count)
        Creates a chunk and saves a copy the original chunk's text.
        Parameters:
        iseq - the original text.
        pos - the start position in the text.
        count - the size of the chunk.
      • Chunk

        public Chunk​(List<Object> iseq,
                     int pos,
                     int count,
                     int offset)
        Creates a chunk that will be displaced in the resulting text, and saves a copy the original chunk's text.
        Parameters:
        iseq - the original text.
        pos - the start position in the text.
        count - the size of the chunk.
        offset - the position the chunk should have in the resulting text.
    • Method Detail

      • anchor

        public int anchor()
        Returns the anchor position of the chunk.
        Returns:
        the anchor position.
      • size

        public int size()
        Returns the size of the chunk.
        Returns:
        the size.
      • first

        public int first()
        Returns the index of the first line of the chunk.
        Returns:
        int
      • last

        public int last()
        Returns the index of the last line of the chunk.
        Returns:
        int
      • rcsfrom

        public int rcsfrom()
        Returns the from index of the chunk in RCS terms.
        Returns:
        int
      • rcsto

        public int rcsto()
        Returns the to index of the chunk in RCS terms.
        Returns:
        int
      • chunk

        public List<Objectchunk()
        Returns the text saved for this chunk.
        Returns:
        the text.
      • verify

        public boolean verify​(List<Object> target)
        Verifies that this chunk's saved text matches the corresponding text in the given sequence.
        Parameters:
        target - the sequence to verify against.
        Returns:
        true if the texts match.
      • applyDelete

        public void applyDelete​(List<Object> target)
        Delete this chunk from he given text.
        Parameters:
        target - the text to delete from.
      • applyAdd

        public void applyAdd​(int start,
                             List<Object> target)
        Add the text of this chunk to the target at the given position.
        Parameters:
        start - where to add the text.
        target - the text to add to.
      • toString

        public void toString​(StringBuilder s)
        Provide a string image of the chunk using the an empty prefix and postfix.
        Overrides:
        toString in class ToString
        Parameters:
        s -
      • toString

        public StringBuilder toString​(StringBuilder s,
                                      String prefix,
                                      String postfix)
        Provide a string image of the chunk using the given prefix and postfix.
        Parameters:
        s - where the string image should be appended.
        prefix - the text that should prefix each line.
        postfix - the text that should end each line.
        Returns:
        StringBuilder
      • slice

        public static <T> List<T> slice​(List<T> seq,
                                        int pos,
                                        int count)
        Retrieves the specified part from a List.
        Type Parameters:
        T - the type of objects contained in seq
        Parameters:
        seq - the list to retrieve a slice from.
        pos - the start position.
        count - the number of items in the slice.
        Returns:
        a List containing the specified items.
      • slice

        public static List<Objectslice​(Object[] seq,
                                         int pos,
                                         int count)
        Retrieves a slice from an Object array.
        Parameters:
        seq - the list to retrieve a slice from.
        pos - the start position.
        count - the number of items in the slice.
        Returns:
        a List containing the specified items.
      • rangeString

        public String rangeString()
        Provide a string representation of the numeric range of this chunk.
        Returns:
        String
      • rangeString

        public void rangeString​(StringBuilder s)
        Provide a string representation of the numeric range of this chunk.
        Parameters:
        s - where the string representation should be appended.
      • rangeString

        public void rangeString​(StringBuilder s,
                                String separ)
        Provide a string representation of the numeric range of this chunk.
        Parameters:
        s - where the string representation should be appended.
        separ - what to use as line separator.