public abstract class AbstractEscherOptRecord extends EscherRecord
EscherOptRecord
and
EscherTertiaryOptRecord
Modifier | Constructor and Description |
---|---|
protected |
AbstractEscherOptRecord() |
protected |
AbstractEscherOptRecord(AbstractEscherOptRecord other) |
Modifier and Type | Method and Description |
---|---|
void |
addEscherProperty(EscherProperty prop)
Add a property to this record.
|
int |
fillFields(byte[] data,
int offset,
EscherRecordFactory recordFactory)
The contract of this method is to deserialize an escher record including
it's children.
|
java.util.List<EscherProperty> |
getEscherProperties()
The list of properties stored by this record.
|
EscherProperty |
getEscherProperty(int index)
The list of properties stored by this record.
|
java.util.Map<java.lang.String,java.util.function.Supplier<?>> |
getGenericProperties() |
int |
getRecordSize()
Subclasses should effeciently return the number of bytes required to
serialize the record.
|
<T extends EscherProperty> |
lookup(EscherPropertyTypes propType) |
<T extends EscherProperty> |
lookup(int propId) |
void |
removeEscherProperty(EscherPropertyTypes type) |
int |
serialize(int offset,
byte[] data,
EscherSerializationListener listener)
Serializes the record to an existing byte array.
|
void |
setEscherProperty(EscherProperty value)
Set an escher property.
|
void |
sortProperties()
Records should be sorted by property number before being stored.
|
copy, display, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getGenericRecordType
protected AbstractEscherOptRecord()
protected AbstractEscherOptRecord(AbstractEscherOptRecord other)
public void addEscherProperty(EscherProperty prop)
prop
- the escher property to addpublic 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 java.util.List<EscherProperty> getEscherProperties()
public EscherProperty getEscherProperty(int index)
index
- the ordinal index of the propertypublic int getRecordSize()
EscherRecord
getRecordSize
in class EscherRecord
public <T extends EscherProperty> T lookup(EscherPropertyTypes propType)
public <T extends EscherProperty> T lookup(int propId)
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 void sortProperties()
public void setEscherProperty(EscherProperty value)
value
- the property to set.public void removeEscherProperty(EscherPropertyTypes type)
public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
getGenericProperties
in interface GenericRecord
getGenericProperties
in class EscherRecord
Copyright 2021 The Apache Software Foundation or its licensors, as applicable.