Class UnknownEscherRecord

java.lang.Object
org.apache.poi.ddf.EscherRecord
org.apache.poi.ddf.UnknownEscherRecord
All Implemented Interfaces:
Cloneable

public final class UnknownEscherRecord extends EscherRecord implements Cloneable
This record is used whenever a escher record is encountered that we do not explicitly support.
  • Constructor Details

    • UnknownEscherRecord

      public UnknownEscherRecord()
  • Method Details

    • fillFields

      public int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
      Description copied from class: EscherRecord
      The contract of this method is to deserialize an escher record including it's children.
      Specified by:
      fillFields in class EscherRecord
      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: EscherRecord
      Serializes the record to an existing byte array.
      Specified by:
      serialize in class EscherRecord
      Parameters:
      offset - the offset within the byte array
      data - the data array to serialize to
      listener - 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: EscherRecord
      Subclasses should effeciently return the number of bytes required to serialize the record.
      Specified by:
      getRecordSize in class EscherRecord
      Returns:
      number of bytes
    • getChildRecords

      public List<EscherRecord> getChildRecords()
      Overrides:
      getChildRecords in class EscherRecord
      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:
    • setChildRecords

      public void setChildRecords(List<EscherRecord> childRecords)
      Description copied from class: EscherRecord
      Sets the child records for this record. By default this will throw an exception as only EscherContainerRecords may have children.
      Overrides:
      setChildRecords in class EscherRecord
      Parameters:
      childRecords - Not used in base implementation.
    • clone

      public UnknownEscherRecord clone()
      Description copied from class: EscherRecord
      Escher records may need to be clonable in the future.
      Overrides:
      clone in class EscherRecord
      Returns:
      the cloned object
    • getRecordName

      public String getRecordName()
      Description copied from class: EscherRecord
      Subclasses should return the short name for this escher record.
      Specified by:
      getRecordName in class EscherRecord
      Returns:
      the short name for this escher record
    • addChildRecord

      public void addChildRecord(EscherRecord childRecord)
    • getAttributeMap

      protected Object[][] getAttributeMap()
      Description copied from class: EscherRecord
      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 }, ... } .

      Null values won't be printed.

      The attributes record, version, instance, options must not be returned.

      Specified by:
      getAttributeMap in class EscherRecord
      Returns:
      the attribute map