Package loci.poi.ddf

Class EscherTextboxRecord


  • public class EscherTextboxRecord
    extends EscherRecord
    Holds data from the parent application. Most commonly used to store text in the format of the parent application, rather than in Escher format. We don't attempt to understand the contents, since they will be in the parent's format, not Escher format.
    Author:
    Glen Stampoultzis (glens at apache.org), Nick Burch (nick at torchbox dot com)
    • Constructor Detail

      • EscherTextboxRecord

        public EscherTextboxRecord()
    • Method Detail

      • fillFields

        public int fillFields​(byte[] data,
                              int offset,
                              EscherRecordFactory recordFactory)
        This method deserializes the record from a byte array.
        Specified by:
        fillFields in class EscherRecord
        Parameters:
        data - The byte array containing the escher record information
        offset - The starting offset into data.
        recordFactory - May be null since this is not a container record.
        Returns:
        The number of bytes read from the byte array.
      • serialize

        public int serialize​(int offset,
                             byte[] data,
                             EscherSerializationListener listener)
        Writes this record and any contained records to the supplied 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 any extra data associated with this record. In practice excel does not seem to put anything here, but with PowerPoint this will contain the bytes that make up a TextHeaderAtom followed by a TextBytesAtom/TextCharsAtom
      • setData

        public void setData​(byte[] b,
                            int start,
                            int length)
        Sets the extra data (in the parent application's format) to be contained by the record. Used when the parent application changes the contents.
      • setData

        public void setData​(byte[] b)
      • getRecordSize

        public int getRecordSize()
        Returns the number of bytes that are required to serialize this record.
        Specified by:
        getRecordSize in class EscherRecord
        Returns:
        Number of bytes