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

ProtectRecord

public class ProtectRecord extends Record
Title: Protect Record

Description: defines whether a sheet or workbook is protected (HSSF DOES NOT SUPPORT ENCRYPTION)

(kindly ask the US government to stop having arcane stupid encryption laws and we'll support it)

(after all terrorists will all use US-legal encrypton right??)

REFERENCE: PG 373 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_protect
Constructors Summary
public ProtectRecord()


     
    
    
public ProtectRecord(RecordInputStream in)
Constructs a Protect record and sets its fields appropriately.

param
id id must be 0x12 or an exception will be throw upon validation
param
size 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()

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

        field_1_protect = in.readShort();
    
public booleangetProtect()
get whether the sheet is protected or not

return
whether to protect the sheet or not

        return (field_1_protect == 1);
    
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, field_1_protect);
        return getRecordSize();
    
public voidsetProtect(boolean protect)
set whether the sheet is protected or not

param
protect whether to protect the sheet or not

        if (protect)
        {
            field_1_protect = 1;
        }
        else
        {
            field_1_protect = 0;
        }
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[PROTECT]\n");
	    buffer.append("    .protect         = ").append(getProtect())
            .append("\n");
        buffer.append("[/PROTECT]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)

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