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

PasswordRev4Record

public class PasswordRev4Record extends Record
Title: Protection Revision 4 password Record

Description: Stores the (2 byte??!!) encrypted password for a shared workbook

REFERENCE: PG 374 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_password
Constructors Summary
public PasswordRev4Record()


     
    
    
public PasswordRev4Record(RecordInputStream in)
Constructs a PasswordRev4 (PROT4REVPASS) record and sets its fields appropriately.

param
id id must be 0x1bc 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_password = in.readShort();
    
public shortgetPassword()
get the password

return
short representing the password

        return field_1_password;
    
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, getPassword());
        return getRecordSize();
    
public voidsetPassword(short pw)
set the password

param
pw representing the password

        field_1_password = pw;
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[PROT4REVPASSWORD]\n");
        buffer.append("    .password       = ")
            .append(Integer.toHexString(getPassword())).append("\n");
        buffer.append("[/PROT4REVPASSWORD]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)

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