Package org.apache.poi.ddf
Class AbstractEscherOptRecord
- java.lang.Object
-
- org.apache.poi.ddf.EscherRecord
-
- org.apache.poi.ddf.AbstractEscherOptRecord
-
- All Implemented Interfaces:
Duplicatable
,GenericRecord
- Direct Known Subclasses:
EscherOptRecord
,EscherTertiaryOptRecord
public abstract class AbstractEscherOptRecord extends EscherRecord
Common abstract class forEscherOptRecord
andEscherTertiaryOptRecord
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractEscherOptRecord()
protected
AbstractEscherOptRecord(AbstractEscherOptRecord other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 its children.List<EscherProperty>
getEscherProperties()
The list of properties stored by this record.EscherProperty
getEscherProperty(int index)
The list of properties stored by this record.Map<String,Supplier<?>>
getGenericProperties()
int
getRecordSize()
Subclasses should effeciently return the number of bytes required to serialize the record.<T extends EscherProperty>
Tlookup(int propId)
<T extends EscherProperty>
Tlookup(EscherPropertyTypes propType)
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.-
Methods inherited from class org.apache.poi.ddf.EscherRecord
copy, display, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericRecordType
-
-
-
-
Constructor Detail
-
AbstractEscherOptRecord
protected AbstractEscherOptRecord()
-
AbstractEscherOptRecord
protected AbstractEscherOptRecord(AbstractEscherOptRecord other)
-
-
Method Detail
-
addEscherProperty
public void addEscherProperty(EscherProperty prop)
Add a property to this record.- Parameters:
prop
- the escher property to add
-
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 its children.- Specified by:
fillFields
in classEscherRecord
- 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.
-
getEscherProperties
public List<EscherProperty> getEscherProperties()
The list of properties stored by this record.- Returns:
- the list of properties
-
getEscherProperty
public EscherProperty getEscherProperty(int index)
The list of properties stored by this record.- Parameters:
index
- the ordinal index of the property- Returns:
- the escher property
-
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 classEscherRecord
- Returns:
- number of bytes
-
lookup
public <T extends EscherProperty> T lookup(EscherPropertyTypes propType)
-
lookup
public <T extends EscherProperty> T lookup(int propId)
-
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 classEscherRecord
- Parameters:
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.- Returns:
- the number of bytes written.
-
sortProperties
public void sortProperties()
Records should be sorted by property number before being stored.
-
setEscherProperty
public void setEscherProperty(EscherProperty value)
Set an escher property. If a property with given propId already exists it is replaced.- Parameters:
value
- the property to set.
-
removeEscherProperty
public void removeEscherProperty(EscherPropertyTypes type)
-
getGenericProperties
public Map<String,Supplier<?>> getGenericProperties()
- Specified by:
getGenericProperties
in interfaceGenericRecord
- Overrides:
getGenericProperties
in classEscherRecord
-
-