Class 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)
    • Constructor Detail

      • 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 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​(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