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
-
-
Field Summary
-
Fields inherited from class org.apache.poi.ddf.EscherRecord
MAX_NUMBER_OF_CHILDREN
-
-
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.java.util.List<EscherProperty>getEscherProperties()The list of properties stored by this record.EscherPropertygetEscherProperty(int index)The list of properties stored by this record.java.util.Map<java.lang.String,java.util.function.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, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getMaxNumberOfChildren, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setMaxNumberOfChildren, 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 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(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 java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
- Specified by:
getGenericPropertiesin interfaceGenericRecord- Overrides:
getGenericPropertiesin classEscherRecord
-
-