Package loci.poi.hssf.record
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 Summary
Fields Modifier and Type Field Description shortfield_1_stream_id_offsetshort[]field_2_unknownshortfield_3_unicode_lenbooleanfield_4_unicode_flagjava.lang.Stringfield_5_ole_classnameintfield_6_stream_idstatic shortsid
-
Constructor Summary
Constructors Constructor Description EmbeddedObjectRefSubRecord()EmbeddedObjectRefSubRecord(RecordInputStream in)Constructs an EmbeddedObjectRef record and sets its fields appropriately.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfillFields(RecordInputStream in)called by the constructor, should set class level fields.intgetRecordSize()Size of record (exluding 4 byte header)shortgetSid()return the non static version of the id for this record.intgetStreamId()Gets the stream ID containing the actual data.intserialize(int offset, byte[] data)called by the class that is responsible for writing this sucker.java.lang.StringtoString()get a string representation of the record (for biffview/debugging)protected voidvalidateSid(short id)Checks the sid matches the expected side for this record-
Methods inherited from class loci.poi.hssf.record.SubRecord
createSubRecord
-
Methods inherited from class loci.poi.hssf.record.Record
clone, isInValueSection, isValue, serialize
-
-
-
-
Field Detail
-
sid
public static final short sid
- See Also:
- Constant Field Values
-
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 java.lang.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:
validateSidin classRecord- Parameters:
id- the expected sid.
-
getSid
public short getSid()
Description copied from class:Recordreturn the non static version of the id for this record.
-
fillFields
protected void fillFields(RecordInputStream in)
Description copied from class:Recordcalled by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.- Specified by:
fillFieldsin classRecord- Parameters:
in- the RecordInputstream to read the record from
-
serialize
public int serialize(int offset, byte[] data)Description copied from class:Recordcalled 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.
-
getRecordSize
public int getRecordSize()
Size of record (exluding 4 byte header)- Overrides:
getRecordSizein classRecord
-
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.
-
-