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

FilePassRecord

public class FilePassRecord extends Record
Title: File Pass Record

Description: Indicates that the record after this record are encrypted. HSSF does not support encrypted excel workbooks and the presence of this record will cause processing to be aborted.

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

author
Jason Height (jheight at chariot dot net dot au)
version
3.0-pre

Fields Summary
public static final short
sid
private int
field_1_encryptedpassword
Constructors Summary
public FilePassRecord()


     
    
    
public FilePassRecord(RecordInputStream in)
Constructs a FILEPASS record and sets its fields appropriately.

param
id id must be 0x84 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
public java.lang.Objectclone()

      FilePassRecord rec = new FilePassRecord();
      rec.field_1_encryptedpassword = field_1_encryptedpassword;
      return rec;
    
protected voidfillFields(org.apache.poi.hssf.record.RecordInputStream in)

        field_1_encryptedpassword = in.readInt();
        
        //Whilst i have read in the password, HSSF currently has no plans to support/decrypt the remainder
        //of this workbook
        throw new RecordFormatException("HSSF does not currently support encrypted workbooks");
    
public intgetRecordSize()

        return 8;
    
public shortgetSid()

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

        LittleEndian.putShort(data, 0 + offset, sid);
        LittleEndian.putShort(data, 2 + offset, ( short ) 0x4);
        LittleEndian.putInt(data, 4 + offset, ( short ) field_1_encryptedpassword);
        return getRecordSize();
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[FILEPASS]\n");
        buffer.append("    .password        = ").append(field_1_encryptedpassword)
            .append("\n");
        buffer.append("[/FILEPASS]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)

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