Class MergeCellsRecord


  • public class MergeCellsRecord
    extends Record
    Title: Merged Cells Record
    Description: Optional record defining a square area of cells to "merged" into one cell.
    REFERENCE: NONE (UNDOCUMENTED PRESENTLY)
    Version:
    2.0-pre
    Author:
    Andrew C. Oliver (acoliver at apache dot org)
    • Constructor Detail

      • MergeCellsRecord

        public MergeCellsRecord()
      • MergeCellsRecord

        public MergeCellsRecord​(RecordInputStream in)
        Constructs a MergedCellsRecord and sets its fields appropriately
        Parameters:
        in - the RecordInputstream to read the record from
    • Method Detail

      • fillFields

        protected void fillFields​(RecordInputStream in)
        Description copied from class: Record
        called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.
        Specified by:
        fillFields in class Record
        Parameters:
        in - the RecordInputstream to read the record from
      • getNumAreas

        public short getNumAreas()
        get the number of merged areas. If this drops down to 0 you should just go ahead and delete the record.
        Returns:
        number of areas
      • setNumAreas

        public void setNumAreas​(short numareas)
        Deprecated.
        We now link the size to the actual array of merged regions
        set the number of merged areas. You do not need to call this if you use addArea, it will be incremented automatically or decremented when an area is removed. If you are setting this to 0 then you are a terrible person. Just remove the record. (just kidding about you being a terrible person..hehe)
        Parameters:
        numareas - number of areas
        See Also:
        getNumAreas()
      • addArea

        public int addArea​(int rowfrom,
                           short colfrom,
                           int rowto,
                           short colto)
        Add an area to consider a merged cell. The index returned is only gauranteed to be correct provided you do not add ahead of or remove ahead of it (in which case you should increment or decrement appropriately....in other words its an arrayList)
        Parameters:
        rowfrom - - the upper left hand corner's row
        colfrom - - the upper left hand corner's col
        rowto - - the lower right hand corner's row
        colto - - the lower right hand corner's col
        Returns:
        new index of said area (don't depend on it if you add/remove)
      • removeAreaAt

        public void removeAreaAt​(int area)
        essentially unmerge the cells in the "area" stored at the passed in index
        Parameters:
        area - index
      • getAreaAt

        public MergeCellsRecord.MergedRegion getAreaAt​(int index)
        return the MergedRegion at the given index.
        Returns:
        MergedRegion representing the area that is Merged (r1,c1 - r2,c2)
      • getRecordSize

        public int getRecordSize()
        Description copied from class: Record
        gives the current serialized size of the record. Should include the sid and reclength (4 bytes).
        Overrides:
        getRecordSize in class Record
      • getSid

        public short getSid()
        Description copied from class: Record
        return the non static version of the id for this record.
        Specified by:
        getSid in class Record
      • serialize

        public int serialize​(int offset,
                             byte[] data)
        Description copied from class: Record
        called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.
        Specified by:
        serialize in class Record
        Parameters:
        offset - to begin writing at
        data - byte array containing instance data
        Returns:
        number of bytes written
      • toString

        public String toString()
        Description copied from class: Record
        get a string representation of the record (for biffview/debugging)
        Overrides:
        toString in class Record
      • validateSid

        protected void validateSid​(short id)
        Description copied from class: Record
        called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
        Specified by:
        validateSid in class Record
        Parameters:
        id - alleged id for this record