org.apache.poi.hssf.record
Class EmbeddedObjectRefSubRecord

java.lang.Object
  extended by org.apache.poi.hssf.record.Record
      extended by org.apache.poi.hssf.record.SubRecord
          extended by org.apache.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
 short field_1_stream_id_offset
           
 short[] field_2_unknown
           
 short field_3_unicode_len
           
 boolean field_4_unicode_flag
           
 java.lang.String field_5_ole_classname
           
 int field_6_stream_id
           
 byte[] remainingBytes
           
static short sid
           
 
Constructor Summary
EmbeddedObjectRefSubRecord()
           
EmbeddedObjectRefSubRecord(RecordInputStream in)
          Constructs an EmbeddedObjectRef record and sets its fields appropriately.
 
Method Summary
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.
 java.lang.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 org.apache.poi.hssf.record.SubRecord
createSubRecord
 
Methods inherited from class org.apache.poi.hssf.record.Record
clone, cloneViaReserialise, isInValueSection, isValue, serialize
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

remainingBytes

public byte[] remainingBytes
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 java.lang.String toString()
Description copied from class: Record
get a string representation of the record (for biffview/debugging)

Overrides:
toString in class Record


Copyright 2008 The Apache Software Foundation or its licensors, as applicable.