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

TabIdRecord

public class TabIdRecord extends Record
Title: Sheet Tab Index Array Record

Description: Contains an array of sheet id's. Sheets always keep their ID regardless of what their name is.

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

author
Andrew C. Oliver (acoliver at apache dot org)
version
2.0-pre

Fields Summary
public static final short
sid
public short[]
field_1_tabids
Constructors Summary
public TabIdRecord()


     
    
    
public TabIdRecord(RecordInputStream in)
Constructs a TabID record and sets its fields appropriately.

param
id id must be 0x13d 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)

        field_1_tabids = new short[ in.remaining() / 2 ];
        for (int k = 0; k < field_1_tabids.length; k++)
        {
            field_1_tabids[ k ] = in.readShort();
        }
    
public intgetRecordSize()

        return 4 + (getTabIdArray().length * 2);
    
public shortgetSid()

        return sid;
    
public short[]getTabIdArray()
get the tab array. (0,1,2).

return
array of tab id's {0,1,2}

        return field_1_tabids;
    
public intserialize(int offset, byte[] data)

        short[] tabids     = getTabIdArray();
        short   length     = ( short ) (tabids.length * 2);
        int     byteoffset = 4;

        LittleEndian.putShort(data, 0 + offset, sid);
        LittleEndian.putShort(data, 2 + offset,
                              (( short ) length));   // nubmer tabids *

        // 2 (num bytes in a short)
        for (int k = 0; k < (length / 2); k++)
        {
            LittleEndian.putShort(data, byteoffset + offset, tabids[ k ]);
            byteoffset += 2;
        }
        return getRecordSize();
    
public voidsetTabIdArray(short[] array)
set the tab array. (0,1,2).

param
array of tab id's {0,1,2}

        field_1_tabids = array;
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[TABID]\n");
        buffer.append("    .elements        = ").append(field_1_tabids.length)
            .append("\n");
        for (int k = 0; k < field_1_tabids.length; k++)
        {
            buffer.append("    .element_" + k + "       = ")
                .append(field_1_tabids[ k ]).append("\n");
        }
        buffer.append("[/TABID]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)

        if (id != sid)
        {
            throw new RecordFormatException("NOT A TABID RECORD");
        }