Class FileSharingRecord

java.lang.Object
loci.poi.hssf.record.Record
loci.poi.hssf.record.FileSharingRecord

public class FileSharingRecord extends Record
Title: FileSharing

Description: stores the encrypted readonly for a workbook (write protect) REFERENCE: PG 314 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

Author:
Andrew C. Oliver (acoliver at apache dot org)
  • Field Details

  • Constructor Details

    • FileSharingRecord

      public FileSharingRecord()
    • FileSharingRecord

      public FileSharingRecord(RecordInputStream in)
      Constructs a FileSharing record and sets its fields appropriately.
      Parameters:
      in - the RecordInputstream to read the record from
  • Method Details

    • 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(RecordInputStream in)
      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:
      in - the RecordInputstream to read the record from
    • hashPassword

      public static short hashPassword(String password)
    • setReadOnly

      public void setReadOnly(short readonly)
      set the readonly flag
      Parameters:
      readonly - 1 for true, not 1 for false
    • getReadOnly

      public short getReadOnly()
      get the readonly
      Returns:
      short representing if this is read only (1 = true)
    • setPassword

      public void setPassword(short password)
      Parameters:
      password - hashed password
    • getPassword

      public short getPassword()
      Returns:
      password hashed with hashPassword() (very lame)
    • getUsernameLength

      public byte getUsernameLength()
      Returns:
      byte representing the length of the username field
    • setUsernameLength

      public void setUsernameLength(byte length)
      Parameters:
      length -
    • getUsername

      public String getUsername()
      Returns:
      username of the user that created the file
    • setUsername

      public void setUsername(String username)
      Parameters:
      username - of the user that created the file
    • getUnknown

      public short getUnknown()
      Returns:
      short value of a "bonus field" in Excel that was not doc'd
    • setUnknown

      public void setUnknown(short unk)
      Parameters:
      unk - field value to set (bonus field that is not doc'd)
    • toString

      public 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 Object clone()
      Clone this record.
      Overrides:
      clone in class Record