Package org.apache.poi.ddf
Class AbstractEscherOptRecord
java.lang.Object
org.apache.poi.ddf.EscherRecord
org.apache.poi.ddf.AbstractEscherOptRecord
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
EscherOptRecord,EscherTertiaryOptRecord
Common abstract class for
EscherOptRecord and
EscherTertiaryOptRecord-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a property to this record.intfillFields(byte[] data, int offset, EscherRecordFactory recordFactory) The contract of this method is to deserialize an escher record including it's children.protected Object[][]For the purpose of providing toString() and toXml() a subclass can either override those methods or provide a Object[][] array in the form{ { "Attribute Name (Header)", value, "optional attribute", value }, ... }.The list of properties stored by this record.getEscherProperty(int index) The list of properties stored by this record.intSubclasses should effeciently return the number of bytes required to serialize the record.<T extends EscherProperty>
Tlookup(int propId) voidremoveEscherProperty(int num) intserialize(int offset, byte[] data, EscherSerializationListener listener) Serializes the record to an existing byte array.voidsetEscherProperty(EscherProperty value) Set an escher property.voidRecords should be sorted by property number before being stored.Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, display, fillFields, getChild, getChildRecords, getInstance, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
-
Constructor Details
-
AbstractEscherOptRecord
public AbstractEscherOptRecord()
-
-
Method Details
-
addEscherProperty
Add a property to this record.- Parameters:
prop- the escher property to add
-
fillFields
Description copied from class:EscherRecordThe contract of this method is to deserialize an escher record including it's 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
The list of properties stored by this record.- Returns:
- the list of properties
-
getEscherProperty
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
-
serialize
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
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(int num) -
getAttributeMap
Description copied from class:EscherRecordFor the purpose of providing toString() and toXml() a subclass can either override those methods or provide a Object[][] array in the form{ { "Attribute Name (Header)", value, "optional attribute", value }, ... }.Null values won't be printed.
The attributes record, version, instance, options must not be returned.
- Specified by:
getAttributeMapin classEscherRecord- Returns:
- the attribute map
-