Class EscherBSERecord

  • All Implemented Interfaces:
    java.lang.Cloneable

    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.
    See Also:
    EscherBlipRecord
    • 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
        Returns:
        the short name for this escher record
      • getBlipTypeWin32

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

        public void setBlipTypeWin32​(byte blipTypeWin32)
        Set the expected win32 blip type
        Parameters:
        blipTypeWin32 - 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).
        Returns:
        MacOS blip type
      • setBlipTypeMacOS

        public void setBlipTypeMacOS​(byte blipTypeMacOS)
        Set the expected MacOS blip type
        Parameters:
        blipTypeMacOS - MacOS blip type
      • getUid

        public byte[] getUid()
        16 byte MD4 checksum.
        Returns:
        16 byte MD4 checksum
      • setUid

        public void setUid​(byte[] uid)
        16 byte MD4 checksum.
        Parameters:
        uid - 16 byte MD4 checksum
      • getTag

        public short getTag()
        unused
        Returns:
        an unknown tag
      • setTag

        public void setTag​(short tag)
        unused
        Parameters:
        tag - unknown tag
      • getSize

        public int getSize()
        Blip size in stream.
        Returns:
        the blip size
      • setSize

        public void setSize​(int size)
        Blip size in stream.
        Parameters:
        size - blip size
      • getRef

        public int getRef()
        The reference count of this blip.
        Returns:
        the reference count
      • setRef

        public void setRef​(int ref)
        The reference count of this blip.
        Parameters:
        ref - the reference count
      • getOffset

        public int getOffset()
        File offset in the delay stream.
        Returns:
        the file offset
      • setOffset

        public void setOffset​(int offset)
        File offset in the delay stream.
        Parameters:
        offset - the file offset
      • getUsage

        public byte getUsage()
        Defines the way this blip is used.
        Returns:
        the blip usage
      • setUsage

        public void setUsage​(byte usage)
        Defines the way this blip is used.
        Parameters:
        usage - the blip usae
      • getName

        public byte getName()
        The length in characters of the blip name.
        Returns:
        the blip name length
      • setName

        public void setName​(byte name)
        The length in characters of the blip name.
        Parameters:
        name - the blip name length
      • getUnused2

        public byte getUnused2()
      • setUnused2

        public void setUnused2​(byte unused2)
      • getUnused3

        public byte getUnused3()
      • setUnused3

        public void setUnused3​(byte unused3)
      • getRemainingData

        public byte[] getRemainingData()
        Any remaining data in this record.
        Returns:
        the remaining bytes
      • setRemainingData

        public void setRemainingData​(byte[] remainingData)
        Any remaining data in this record.
        Parameters:
        remainingData - the remaining bytes
      • getBlipType

        public static java.lang.String getBlipType​(byte b)
        Retrieve the string representation given a blip id.
        Parameters:
        b - the blip type byte-encoded
        Returns:
        the blip type as string