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 short
field_1_stream_id_offset
short[]
field_2_unknown
short
field_3_unicode_len
boolean
field_4_unicode_flag
String
field_5_ole_classname
int
field_6_stream_id
static short
sid
-
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 void
fillFields(RecordInputStream in)
called by the constructor, should set class level fields.int
getRecordSize()
Size of record (exluding 4 byte header)short
getSid()
return the non static version of the id for this record.int
getStreamId()
Gets the stream ID containing the actual data.int
serialize(int offset, byte[] data)
called by the class that is responsible for writing this sucker.String
toString()
get a string representation of the record (for biffview/debugging)protected void
validateSid(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 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 classRecord
- 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.
-
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 classRecord
- 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.
-
getRecordSize
public int getRecordSize()
Size of record (exluding 4 byte header)- Overrides:
getRecordSize
in 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.
-
-