Class EmbeddedObjectRefSubRecord


  • public class EmbeddedObjectRefSubRecord
    extends SubRecord
    A sub-record within the OBJ record which stores a reference to an object stored in a separate entry within the OLE2 compound file.
    Author:
    Daniel Noll
    • Field Detail

      • field_1_stream_id_offset

        public short field_1_stream_id_offset
      • field_2_unknown

        public short[] field_2_unknown
      • field_3_unicode_len

        public short field_3_unicode_len
      • field_4_unicode_flag

        public boolean field_4_unicode_flag
      • field_5_ole_classname

        public String field_5_ole_classname
      • field_6_stream_id

        public int field_6_stream_id
    • Constructor Detail

      • EmbeddedObjectRefSubRecord

        public EmbeddedObjectRefSubRecord()
      • EmbeddedObjectRefSubRecord

        public EmbeddedObjectRefSubRecord​(RecordInputStream in)
        Constructs an EmbeddedObjectRef record and sets its fields appropriately.
        Parameters:
        in - the record input stream.
    • Method Detail

      • validateSid

        protected void validateSid​(short id)
        Checks the sid matches the expected side for this record
        Specified by:
        validateSid in class Record
        Parameters:
        id - the expected sid.
      • 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
      • 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
      • 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()
        Size of record (exluding 4 byte header)
        Overrides:
        getRecordSize in class Record
      • getStreamId

        public int getStreamId()
        Gets the stream ID containing the actual data. The data itself can be found under a top-level directory entry in the OLE2 filesystem under the name "MBDxxxxxxxx" where xxxxxxxx is this ID converted into hex (in big endian order, funnily enough.)
        Returns:
        the data stream ID.
      • toString

        public String toString()
        Description copied from class: Record
        get a string representation of the record (for biffview/debugging)
        Overrides:
        toString in class Record