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 forEscherOptRecordandEscherTertiaryOptRecord
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractEscherOptRecord()protectedAbstractEscherOptRecord(AbstractEscherOptRecord other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEscherProperty(EscherProperty prop)Add a property to this record.intfillFields(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.EscherPropertygetEscherProperty(int index)The list of properties stored by this record.Map<String,Supplier<?>>getGenericProperties()intgetRecordSize()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)voidremoveEscherProperty(EscherPropertyTypes type)intserialize(int offset, byte[] data, EscherSerializationListener listener)Serializes the record to an existing byte array.voidsetEscherProperty(EscherProperty value)Set an escher property.voidsortProperties()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:EscherRecordThe contract of this method is to deserialize an escher record including its children.- Specified by:
fillFieldsin 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:EscherRecordSubclasses should effeciently return the number of bytes required to serialize the record.- Specified by:
getRecordSizein 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:EscherRecordSerializes the record to an existing byte array.- Specified by:
serializein 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:
getGenericPropertiesin interfaceGenericRecord- Overrides:
getGenericPropertiesin classEscherRecord
-
-