## org.apache.poi.hssf.record
Class ProtectRecord

    java.lang.Object
      org.apache.poi.hssf.record.Record
          org.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)

Version:
  2.0-pre
Author:
  Andrew C. Oliver (acoliver at apache dot org)

Field Summary
`static short` `sid`

Constructor Summary
`ProtectRecord()`
`ProtectRecord(short id, short size, byte[] data)` Constructs a Protect record and sets its fields appropriately.
`ProtectRecord(short id, short size, byte[] data, int offset)` Constructs a Protect record and sets its fields appropriately.

Method Summary
`java.lang.Object` `clone()`
`protected void` `fillFields(byte[] data, short size, int offset)` called by the constructor, should set class level fields.
`boolean` `getProtect()` get whether the sheet is protected or not
`int` `getRecordSize()` gives the current serialized size of the record.
`short` `getSid()` return the non static version of the id for this record.
`int` `serialize(int offset, byte[] data)` called by the class that is responsible for writing this sucker.
`void` `setProtect(boolean protect)` set whether the sheet is protected or not
`java.lang.String` `toString()` get a string representation of the record (for biffview/debugging)
`protected void` `validateSid(short id)` called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

Methods inherited from class org.apache.poi.hssf.record.Record
`fillFields, isInValueSection, isValue, processContinueRecord, serialize`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### sid

    public static final short sid

See Also:
  Constant Field Values

Constructor Detail

### ProtectRecord

    public ProtectRecord()

### ProtectRecord

    public ProtectRecord(short id,
                         short size,
                         byte[] data)

  Constructs a Protect record and sets its fields appropriately.

Parameters:
  `id` - id must be 0x12 or an exception will be throw upon validation
  `size` - size the size of the data area of the record
  `data` - data of the record (should not contain sid/len)

### ProtectRecord

    public ProtectRecord(short id,
                         short size,
                         byte[] data,
                         int offset)

  Constructs a Protect record and sets its fields appropriately.

Parameters:
  `id` - id must be 0x12 or an exception will be throw upon validation
  `size` - size the size of the data area of the record
  `data` - data of the record (should not contain sid/len)
  `offset` - of the data

Method Detail

### validateSid

    protected void validateSid(short id)

  Description copied from class: `Record`
  called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

  Specified by:
    `validateSid` in class `Record`
  Parameters:
    `id` - alleged id for this record

### fillFields

    protected void fillFields(byte[] data,
                              short size,
                              int offset)

  Description copied from class: `Record`
  called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

  Specified by:
    `fillFields` in class `Record`
  Parameters:
    `data` - raw data
    `size` - size of data
    `offset` - of the record's data (provided a big array of the file)

### setProtect

    public void setProtect(boolean protect)

  set whether the sheet is protected or not

  Parameters:
    `protect` - whether to protect the sheet or not

### getProtect

    public boolean getProtect()

  get whether the sheet is protected or not

  Returns:
    whether to protect the sheet or not

### toString

    public java.lang.String toString()

  Description copied from class: `Record`
  get a string representation of the record (for biffview/debugging)

  Overrides:
    `toString` in class `Record`

### serialize

    public int serialize(int offset,
                         byte[] data)

  Description copied from class: `Record`
  called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.

  Specified by:
    `serialize` in class `Record`
  Parameters:
    `offset` - to begin writing at
    `data` - byte array containing instance data
  Returns:
    number of bytes written

### getRecordSize

    public int getRecordSize()

  Description copied from class: `Record`
  gives the current serialized size of the record. Should include the sid and reclength (4 bytes).

  Overrides:
    `getRecordSize` in class `Record`

### getSid

    public short getSid()

  Description copied from class: `Record`
  return the non static version of the id for this record.

  Specified by:
    `getSid` in class `Record`

### clone

    public java.lang.Object clone()

  Overrides:
    `clone` in class `Record`

Copyright © 2003 Apache Software Foundation.