org.apache.poi.ddf
Class EscherBSERecord

java.lang.Object
  extended by org.apache.poi.ddf.EscherRecord
      extended by org.apache.poi.ddf.EscherBSERecord

public final class EscherBSERecord
extends EscherRecord

The BSE record is related closely to the EscherBlipRecord and stores extra information about the blip. A blip record is actually stored inside the BSE record even though the BSE record isn't actually a container record.

Author:
Glen Stampoultzis
See Also:
EscherBlipRecord

Field Summary
static byte BT_DIB
           
static byte BT_EMF
           
static byte BT_ERROR
           
static byte BT_JPEG
           
static byte BT_PICT
           
static byte BT_PNG
           
static byte BT_UNKNOWN
           
static byte BT_WMF
           
static java.lang.String RECORD_DESCRIPTION
           
static short RECORD_ID
           
 
Constructor Summary
EscherBSERecord()
           
 
Method Summary
 int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
          The contract of this method is to deserialize an escher record including it's children.
 EscherBlipRecord getBlipRecord()
           
static java.lang.String getBlipType(byte b)
          Retrieve the string representation given a blip id.
 byte getBlipTypeMacOS()
          The expected blip type under MacOS (failure to match this blip type will result in Excel converting to this format).
 byte getBlipTypeWin32()
          The expected blip type under windows (failure to match this blip type will result in Excel converting to this format).
 byte getName()
          The length in characters of the blip name.
 int getOffset()
          File offset in the delay stream.
 java.lang.String getRecordName()
          Subclasses should return the short name for this escher record.
 int getRecordSize()
          Subclasses should effeciently return the number of bytes required to serialize the record.
 int getRef()
          The reference count of this blip.
 byte[] getRemainingData()
          Any remaining data in this record.
 int getSize()
          Blip size in stream.
 short getTag()
          unused
 byte[] getUid()
          16 byte MD4 checksum.
 byte getUnused2()
           
 byte getUnused3()
           
 byte getUsage()
          Defines the way this blip is used.
 int serialize(int offset, byte[] data, EscherSerializationListener listener)
          Serializes the record to an existing byte array.
 void setBlipRecord(EscherBlipRecord blipRecord)
           
 void setBlipTypeMacOS(byte blipTypeMacOS)
          Set the expected MacOS blip type
 void setBlipTypeWin32(byte blipTypeWin32)
          Set the expected win32 blip type
 void setName(byte name)
          The length in characters of the blip name.
 void setOffset(int offset)
          File offset in the delay stream.
 void setRef(int ref)
          The reference count of this blip.
 void setRemainingData(byte[] remainingData)
          Any remaining data in this record.
 void setSize(int size)
          Blip size in stream.
 void setTag(short tag)
          unused
 void setUid(byte[] uid)
          16 byte MD4 checksum.
 void setUnused2(byte unused2)
           
 void setUnused3(byte unused3)
           
 void setUsage(byte usage)
          Defines the way this blip is used.
 java.lang.String toString()
           
 
Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, display, fillFields, getChild, getChildRecords, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RECORD_ID

public static final short RECORD_ID
See Also:
Constant Field Values

RECORD_DESCRIPTION

public static final java.lang.String RECORD_DESCRIPTION
See Also:
Constant Field Values

BT_ERROR

public static final byte BT_ERROR
See Also:
Constant Field Values

BT_UNKNOWN

public static final byte BT_UNKNOWN
See Also:
Constant Field Values

BT_EMF

public static final byte BT_EMF
See Also:
Constant Field Values

BT_WMF

public static final byte BT_WMF
See Also:
Constant Field Values

BT_PICT

public static final byte BT_PICT
See Also:
Constant Field Values

BT_JPEG

public static final byte BT_JPEG
See Also:
Constant Field Values

BT_PNG

public static final byte BT_PNG
See Also:
Constant Field Values

BT_DIB

public static final byte BT_DIB
See Also:
Constant Field Values
Constructor Detail

EscherBSERecord

public EscherBSERecord()
Method Detail

fillFields

public int fillFields(byte[] data,
                      int offset,
                      EscherRecordFactory recordFactory)
Description copied from class: EscherRecord
The contract of this method is to deserialize an escher record including it's children.

Specified by:
fillFields in class EscherRecord
Parameters:
data - The byte array containing the serialized escher records.
offset - The offset into the byte array.
recordFactory - A factory for creating new escher records.
Returns:
The number of bytes written.

serialize

public int serialize(int offset,
                     byte[] data,
                     EscherSerializationListener listener)
Description copied from class: EscherRecord
Serializes the record to an existing byte array.

Specified by:
serialize in class EscherRecord
Parameters:
offset - the offset within the byte array
data - the data array to serialize to
listener - a listener for begin and end serialization events. This is useful because the serialization is hierarchical/recursive and sometimes you need to be able break into that.
Returns:
the number of bytes written.

getRecordSize

public int getRecordSize()
Description copied from class: EscherRecord
Subclasses should effeciently return the number of bytes required to serialize the record.

Specified by:
getRecordSize in class EscherRecord
Returns:
number of bytes

getRecordName

public java.lang.String getRecordName()
Description copied from class: EscherRecord
Subclasses should return the short name for this escher record.

Specified by:
getRecordName in class EscherRecord

getBlipTypeWin32

public byte getBlipTypeWin32()
The expected blip type under windows (failure to match this blip type will result in Excel converting to this format).


setBlipTypeWin32

public void setBlipTypeWin32(byte blipTypeWin32)
Set the expected win32 blip type


getBlipTypeMacOS

public byte getBlipTypeMacOS()
The expected blip type under MacOS (failure to match this blip type will result in Excel converting to this format).


setBlipTypeMacOS

public void setBlipTypeMacOS(byte blipTypeMacOS)
Set the expected MacOS blip type


getUid

public byte[] getUid()
16 byte MD4 checksum.


setUid

public void setUid(byte[] uid)
16 byte MD4 checksum.


getTag

public short getTag()
unused


setTag

public void setTag(short tag)
unused


getSize

public int getSize()
Blip size in stream.


setSize

public void setSize(int size)
Blip size in stream.


getRef

public int getRef()
The reference count of this blip.


setRef

public void setRef(int ref)
The reference count of this blip.


getOffset

public int getOffset()
File offset in the delay stream.


setOffset

public void setOffset(int offset)
File offset in the delay stream.


getUsage

public byte getUsage()
Defines the way this blip is used.


setUsage

public void setUsage(byte usage)
Defines the way this blip is used.


getName

public byte getName()
The length in characters of the blip name.


setName

public void setName(byte name)
The length in characters of the blip name.


getUnused2

public byte getUnused2()

setUnused2

public void setUnused2(byte unused2)

getUnused3

public byte getUnused3()

setUnused3

public void setUnused3(byte unused3)

getBlipRecord

public EscherBlipRecord getBlipRecord()

setBlipRecord

public void setBlipRecord(EscherBlipRecord blipRecord)

getRemainingData

public byte[] getRemainingData()
Any remaining data in this record.


setRemainingData

public void setRemainingData(byte[] remainingData)
Any remaining data in this record.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getBlipType

public static java.lang.String getBlipType(byte b)
Retrieve the string representation given a blip id.



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