FileDocCategorySizeDatePackage
MulBlankRecord.javaAPI DocApache Poi 3.0.15626Mon Jan 01 12:39:40 GMT 2007org.apache.poi.hssf.record

MulBlankRecord

public class MulBlankRecord extends Record
Title: Mulitple Blank cell record

Description: Represents a set of columns in a row with no value but with styling. In this release we have read-only support for this record type. The RecordFactory converts this to a set of BlankRecord objects.

REFERENCE: PG 329 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

author
Andrew C. Oliver (acoliver at apache dot org)
author
Glen Stampoultzis (glens at apache.org)
version
2.0-pre
see
org.apache.poi.hssf.record.BlankRecord

Fields Summary
public static final short
sid
private int
field_1_row
private short
field_2_first_col
private short[]
field_3_xfs
private short
field_4_last_col
Constructors Summary
public MulBlankRecord()
Creates new MulBlankRecord


        

     
    
    
public MulBlankRecord(RecordInputStream in)
Constructs a MulBlank record and sets its fields appropriately.

param
id id must be 0xbe or an exception will be throw upon validation
param
size the size of the data area of the record
param
data data of the record (should not contain sid/len)

        super(in);
    
Methods Summary
protected voidfillFields(org.apache.poi.hssf.record.RecordInputStream in)
called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

param
data raw data
param
size size of data

        //field_1_row       = LittleEndian.getShort(data, 0 + offset);
        field_1_row       = in.readUShort();
        field_2_first_col = in.readShort();
        field_3_xfs       = parseXFs(in);
        field_4_last_col  = in.readShort();
    
public shortgetFirstColumn()
starting column (first cell this holds in the row)

return
first column number

        return field_2_first_col;
    
public shortgetLastColumn()
ending column (last cell this holds in the row)

return
first column number

        return field_4_last_col;
    
public intgetNumColumns()
get the number of columns this contains (last-first +1)

return
number of columns (last - first +1)

        return field_4_last_col - field_2_first_col + 1;
    
public intgetRow()
get the row number of the cells this represents

return
row number

        return field_1_row;
    
public shortgetSid()

        return sid;
    
public shortgetXFAt(int coffset)
returns the xf index for column (coffset = column - field_2_first_col)

param
coffset the column (coffset = column - field_2_first_col)
return
the XF index for the column

        return field_3_xfs[ coffset ];
    
private short[]parseXFs(org.apache.poi.hssf.record.RecordInputStream in)

        short[] retval = new short[ (in.remaining() - 2) / 2 ];

        for (int idx = 0; idx < retval.length;idx++)
        {
          retval[idx] = in.readShort();
        }
        return retval;
    
public intserialize(int offset, byte[] data)

        throw new RecordFormatException(
            "Sorry, you can't serialize a MulBlank in this release");
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[MULBLANK]\n");
        buffer.append("row  = ")
            .append(Integer.toHexString(getRow())).append("\n");
        buffer.append("firstcol  = ")
            .append(Integer.toHexString(getFirstColumn())).append("\n");
        buffer.append(" lastcol  = ")
            .append(Integer.toHexString(getLastColumn())).append("\n");
        for (int k = 0; k < getNumColumns(); k++)
        {
            buffer.append("xf").append(k).append("        = ")
                .append(Integer.toHexString(getXFAt(k))).append("\n");
        }
        buffer.append("[/MULBLANK]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)
called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

param
id alleged id for this record

        if (id != sid)
        {
            throw new RecordFormatException("Not a MulBlankRecord!");
        }