public final class EscherBSERecord extends EscherRecord
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.EscherBlipRecord
Modifier and Type | Field and Description |
---|---|
static short |
RECORD_ID |
Constructor and Description |
---|
EscherBSERecord() |
EscherBSERecord(EscherBSERecord other) |
Modifier and Type | Method and Description |
---|---|
EscherBSERecord |
copy() |
int |
fillFields(byte[] data,
int offset,
EscherRecordFactory recordFactory)
The contract of this method is to deserialize an escher record including
its children.
|
EscherBlipRecord |
getBlipRecord() |
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).
|
java.util.Map<java.lang.String,java.util.function.Supplier<?>> |
getGenericProperties() |
java.lang.Enum |
getGenericRecordType() |
static int |
getMaxRecordLength() |
byte |
getName()
The length in characters of the blip name.
|
int |
getOffset()
File offset in the delay stream.
|
PictureData.PictureType |
getPictureTypeMacOS() |
PictureData.PictureType |
getPictureTypeWin32() |
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
|
static void |
setMaxRecordLength(int length) |
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.
|
display, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
public EscherBSERecord()
public EscherBSERecord(EscherBSERecord other)
public static void setMaxRecordLength(int length)
length
- the max record length allowed for EscherBSERecordpublic static int getMaxRecordLength()
public int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
EscherRecord
fillFields
in class EscherRecord
data
- The byte array containing the serialized escher
records.offset
- The offset into the byte array.recordFactory
- A factory for creating new escher records.public int serialize(int offset, byte[] data, EscherSerializationListener listener)
EscherRecord
serialize
in class EscherRecord
offset
- the offset within the byte arraydata
- the data array to serialize tolistener
- 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.public int getRecordSize()
EscherRecord
getRecordSize
in class EscherRecord
public java.lang.String getRecordName()
EscherRecord
getRecordName
in class EscherRecord
public byte getBlipTypeWin32()
public PictureData.PictureType getPictureTypeWin32()
public void setBlipTypeWin32(byte blipTypeWin32)
blipTypeWin32
- win32 blip typepublic byte getBlipTypeMacOS()
public PictureData.PictureType getPictureTypeMacOS()
public void setBlipTypeMacOS(byte blipTypeMacOS)
blipTypeMacOS
- MacOS blip typepublic byte[] getUid()
public void setUid(byte[] uid)
uid
- 16 byte MD4 checksumpublic short getTag()
public void setTag(short tag)
tag
- unknown tagpublic int getSize()
public void setSize(int size)
size
- blip sizepublic int getRef()
public void setRef(int ref)
ref
- the reference countpublic int getOffset()
public void setOffset(int offset)
offset
- the file offsetpublic byte getUsage()
public void setUsage(byte usage)
usage
- the blip usaepublic byte getName()
public void setName(byte name)
name
- the blip name lengthpublic byte getUnused2()
public void setUnused2(byte unused2)
public byte getUnused3()
public void setUnused3(byte unused3)
public EscherBlipRecord getBlipRecord()
public void setBlipRecord(EscherBlipRecord blipRecord)
public byte[] getRemainingData()
public void setRemainingData(byte[] remainingData)
remainingData
- the remaining bytespublic java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
getGenericProperties
in interface GenericRecord
getGenericProperties
in class EscherRecord
public java.lang.Enum getGenericRecordType()
public EscherBSERecord copy()
copy
in interface Duplicatable
copy
in class EscherRecord
Copyright 2022 The Apache Software Foundation or its licensors, as applicable.