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

PasswordRecord

public class PasswordRecord extends Record
Title: Password Record

Description: stores the encrypted password for a sheet or workbook (HSSF doesn't support encryption) REFERENCE: PG 371 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 PasswordRecord()

   // not sure why this is only 2 bytes, but it is... go figure

     
    
    
public PasswordRecord(RecordInputStream in)
Constructs a Password record and sets its fields appropriately.

param
id id must be 0x13 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()
Clone this record.

      PasswordRecord clone = new PasswordRecord();
      clone.setPassword(field_1_password);
      return clone;
    
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 password)
set the password

param
password representing the password

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

        StringBuffer buffer = new StringBuffer();

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

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