Package org.apache.poi.ddf
Class UnknownEscherRecord
- java.lang.Object
-
- org.apache.poi.ddf.EscherRecord
-
- org.apache.poi.ddf.UnknownEscherRecord
-
- All Implemented Interfaces:
Duplicatable,GenericRecord
public final class UnknownEscherRecord extends EscherRecord
This record is used whenever an escher record is encountered that we do not explicitly support.
-
-
Constructor Summary
Constructors Constructor Description UnknownEscherRecord()UnknownEscherRecord(UnknownEscherRecord other)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChildRecord(EscherRecord childRecord)UnknownEscherRecordcopy()intfillFields(byte[] data, int offset, EscherRecordFactory recordFactory)The contract of this method is to deserialize an escher record including its children.List<EscherRecord>getChildRecords()byte[]getData()Map<String,Supplier<?>>getGenericProperties()EnumgetGenericRecordType()static intgetMaxRecordLength()StringgetRecordName()Subclasses should return the short name for this escher record.intgetRecordSize()Subclasses should effeciently return the number of bytes required to serialize the record.intserialize(int offset, byte[] data, EscherSerializationListener listener)Serializes the record to an existing byte array.voidsetChildRecords(List<EscherRecord> childRecords)Sets the child records for this record.static voidsetMaxRecordLength(int length)-
Methods inherited from class org.apache.poi.ddf.EscherRecord
display, fillFields, getChild, getGenericChildren, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
-
-
-
-
Constructor Detail
-
UnknownEscherRecord
public UnknownEscherRecord()
-
UnknownEscherRecord
public UnknownEscherRecord(UnknownEscherRecord other)
-
-
Method Detail
-
setMaxRecordLength
public static void setMaxRecordLength(int length)
- Parameters:
length- the max record length allowed for UnknownEscherRecord
-
getMaxRecordLength
public static int getMaxRecordLength()
- Returns:
- the max record length allowed for UnknownEscherRecord
-
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.
-
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.
-
getData
public byte[] getData()
- Returns:
- the data which makes up this record
-
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
-
getChildRecords
public List<EscherRecord> getChildRecords()
- Overrides:
getChildRecordsin classEscherRecord- Returns:
- Returns the children of this record. By default this will be an empty list. EscherCotainerRecord is the only record that may contain children.
- See Also:
EscherContainerRecord
-
setChildRecords
public void setChildRecords(List<EscherRecord> childRecords)
Description copied from class:EscherRecordSets the child records for this record. By default this will throw an exception as only EscherContainerRecords may have children.- Overrides:
setChildRecordsin classEscherRecord- Parameters:
childRecords- Not used in base implementation.
-
getRecordName
public String getRecordName()
Description copied from class:EscherRecordSubclasses should return the short name for this escher record.- Specified by:
getRecordNamein classEscherRecord- Returns:
- the short name for this escher record
-
addChildRecord
public void addChildRecord(EscherRecord childRecord)
-
getGenericProperties
public Map<String,Supplier<?>> getGenericProperties()
- Specified by:
getGenericPropertiesin interfaceGenericRecord- Overrides:
getGenericPropertiesin classEscherRecord
-
getGenericRecordType
public Enum getGenericRecordType()
-
copy
public UnknownEscherRecord copy()
- Specified by:
copyin interfaceDuplicatable- Specified by:
copyin classEscherRecord- Returns:
- a deep copy of the implementing class / instance
-
-