Package loci.poi.ddf

Class EscherTextboxRecord

java.lang.Object
loci.poi.ddf.EscherRecord
loci.poi.ddf.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)
  • Field Details

  • Constructor Details

    • EscherTextboxRecord

      public EscherTextboxRecord()
  • Method Details

    • 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
    • clone

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

      public String getRecordName()
      The short name for this record
      Specified by:
      getRecordName in class EscherRecord
    • toString

      public String toString()
      Overrides:
      toString in class Object