Class MergeCellsRecord

java.lang.Object
loci.poi.hssf.record.Record
loci.poi.hssf.record.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 
    this is a low level representation of a MergedRegion of cells.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final short
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    Constructs a MergedCellsRecord and sets its fields appropriately
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    addArea(int rowfrom, short colfrom, int rowto, short colto)
    Add an area to consider a merged cell.
     
    protected void
    called by the constructor, should set class level fields.
    getAreaAt(int index)
    return the MergedRegion at the given index.
    short
    get the number of merged areas.
    int
    gives the current serialized size of the record.
    short
    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
    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 loci.poi.hssf.record.Record

    isInValueSection, isValue, serialize

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • 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 Details

    • 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:
    • 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
    • clone

      public Object clone()
      Overrides:
      clone in class Record