Class EmbeddedObjectRefSubRecord

java.lang.Object
loci.poi.hssf.record.Record
loci.poi.hssf.record.SubRecord
loci.poi.hssf.record.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 Details

    • sid

      public static final short sid
      See Also:
    • 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 Details

    • EmbeddedObjectRefSubRecord

      public EmbeddedObjectRefSubRecord()
    • EmbeddedObjectRefSubRecord

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

    • 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