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

CodepageRecord

public class CodepageRecord extends Record
Title: Codepage Record

Description: the default characterset. for the workbook

REFERENCE: PG 293 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
private short
field_1_codepage
public static final short
CODEPAGE
the likely correct value for CODEPAGE (at least for US versions). We could use some help with international versions (which we do not have access to documentation for)
Constructors Summary
public CodepageRecord()


     
    
    
public CodepageRecord(RecordInputStream in)
Constructs a CodepageRecord and sets its fields appropriately

param
id id must be 0x42 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_codepage = in.readShort();
    
public shortgetCodepage()
get the codepage for this workbook

see
#CODEPAGE
return
codepage - the codepage to set

        return field_1_codepage;
    
public intgetRecordSize()

        return 6;
    
public shortgetSid()

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

        LittleEndian.putShort(data, 0 + offset, sid);
        LittleEndian.putShort(data, 2 + offset,
                              (( short ) 0x02));   // 2 bytes (6 total)
        LittleEndian.putShort(data, 4 + offset, getCodepage());
        return getRecordSize();
    
public voidsetCodepage(short cp)
set the codepage for this workbook

see
#CODEPAGE
param
cp the codepage to set

        field_1_codepage = cp;
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[CODEPAGE]\n");
        buffer.append("    .codepage        = ")
            .append(Integer.toHexString(getCodepage())).append("\n");
        buffer.append("[/CODEPAGE]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)

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