Class 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 Detail

      • UnknownEscherRecord

        public UnknownEscherRecord()
    • 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: 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
      • 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)
      • getGenericRecordType

        public Enum getGenericRecordType()