Package org.apache.poi.ddf
Class AbstractEscherOptRecord
- java.lang.Object
-
- org.apache.poi.ddf.EscherRecord
-
- org.apache.poi.ddf.AbstractEscherOptRecord
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
EscherOptRecord,EscherTertiaryOptRecord
public abstract class AbstractEscherOptRecord extends EscherRecord
Common abstract class forEscherOptRecordandEscherTertiaryOptRecord
-
-
Constructor Summary
Constructors Constructor Description AbstractEscherOptRecord()
-
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 it's children.java.util.List<EscherProperty>getEscherProperties()The list of properties stored by this record.EscherPropertygetEscherProperty(int index)The list of properties stored by this record.intgetRecordSize()Subclasses 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.voidsortProperties()Records should be sorted by property number before being stored.-
Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, display, getChild, getChildRecords, getInstance, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
-
-
-
-
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 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
public java.util.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(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(int num)
-
-