Class UnknownEscherRecord

java.lang.Object
org.apache.poi.ddf.EscherRecord
org.apache.poi.ddf.UnknownEscherRecord
All Implemented Interfaces:
org.apache.poi.common.Duplicatable, GenericRecord

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

    • UnknownEscherRecord

      public UnknownEscherRecord()
    • UnknownEscherRecord

      public UnknownEscherRecord(UnknownEscherRecord other)
  • Method Details

    • 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: EscherRecord
      The contract of this method is to deserialize an escher record including its 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.
    • 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)
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()
      Specified by:
      getGenericProperties in interface GenericRecord
      Overrides:
      getGenericProperties in class EscherRecord
    • getGenericRecordType

      public Enum getGenericRecordType()
    • copy

      public UnknownEscherRecord copy()
      Specified by:
      copy in interface org.apache.poi.common.Duplicatable
      Specified by:
      copy in class EscherRecord