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)
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  MergeCellsRecord.MergedRegion
      this is a low level representation of a MergedRegion of cells.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static short sid  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      int addArea​(int rowfrom, short colfrom, int rowto, short colto)
      Add an area to consider a merged cell.
      java.lang.Object clone()  
      protected void fillFields​(RecordInputStream in)
      called by the constructor, should set class level fields.
      MergeCellsRecord.MergedRegion getAreaAt​(int index)
      return the MergedRegion at the given index.
      short getNumAreas()
      get the number of merged areas.
      int getRecordSize()
      gives the current serialized size of the record.
      short getSid()
      return the non static version of the id for this record.
      void removeAreaAt​(int area)
      essentially unmerge the cells in the "area" stored at the passed in index
      int serialize​(int offset, byte[] data)
      called by the class that is responsible for writing this sucker.
      void setNumAreas​(short numareas)
      Deprecated.
      We now link the size to the actual array of merged regions
      java.lang.String toString()
      get a string representation of the record (for biffview/debugging)
      protected void validateSid​(short id)
      called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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 java.lang.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
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class Record