org.apache.poi.hssf.record
Class MergeCellsRecord

java.lang.Object
  |
  +--org.apache.poi.hssf.record.Record
        |
        +--org.apache.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)

Inner Class Summary
 class MergeCellsRecord.MergedRegion
          this is a low level representation of a MergedRegion of cells.
 
Field Summary
static short sid
           
 
Constructor Summary
MergeCellsRecord()
           
MergeCellsRecord(short sid, short size, byte[] data)
          Constructs a MergedCellsRecord and sets its fields appropriately
MergeCellsRecord(short sid, short size, byte[] data, int offset)
          Constructs a MergedCellsRecord and sets its fields appropriately
 
Method Summary
 int addArea(short rowfrom, short colfrom, short rowto, short colto)
          Add an area to consider a merged cell.
protected  void fillFields(byte[] data, short size, int offset)
          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)
          set the number of merged areas.
 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 org.apache.poi.hssf.record.Record
fillFields, isInValueSection, isValue, processContinueRecord, serialize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

sid

public static final short sid
Constructor Detail

MergeCellsRecord

public MergeCellsRecord()

MergeCellsRecord

public MergeCellsRecord(short sid,
                        short size,
                        byte[] data)
Constructs a MergedCellsRecord and sets its fields appropriately
Parameters:
sid - id must be 0xe5 or an exception will be throw upon validation
size - the size of the data area of the record
data - data of the record (should not contain sid/len)

MergeCellsRecord

public MergeCellsRecord(short sid,
                        short size,
                        byte[] data,
                        int offset)
Constructs a MergedCellsRecord and sets its fields appropriately
Parameters:
sid - id must be 0xe5 or an exception will be throw upon validation
size - the size of the data area of the record
data - data of the record (should not contain sid/len)
offset - the offset of the record's data
Method Detail

fillFields

protected void fillFields(byte[] data,
                          short size,
                          int offset)
Description copied from class: Record
called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.
Overrides:
fillFields in class Record
Following copied from class: org.apache.poi.hssf.record.Record
Parameters:
data - raw data
size - size of data
offset - of the record's data (provided a big array of the file)

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)
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

addArea

public int addArea(short rowfrom,
                   short colfrom,
                   short 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.
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.
Overrides:
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.
Overrides:
serialize in class Record
Following copied from class: org.apache.poi.hssf.record.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.
Overrides:
validateSid in class Record
Following copied from class: org.apache.poi.hssf.record.Record
Parameters:
id - alleged id for this record


Copyright © 2002 Apache jakarta-poi project. All Rights Reserved.