Class EscherTextboxRecord

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

public final 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.
  • Field Details

    • RECORD_ID

      public static final short RECORD_ID
  • Constructor Details

    • EscherTextboxRecord

      public EscherTextboxRecord()
    • EscherTextboxRecord

      public EscherTextboxRecord(EscherTextboxRecord other)
  • Method Details

    • setMaxRecordLength

      public static void setMaxRecordLength(int length)
      Parameters:
      length - the max record length allowed for EscherTextboxRecord
    • getMaxRecordLength

      public static int getMaxRecordLength()
      Returns:
      the max record length allowed for EscherTextboxRecord
    • 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 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
      Returns:
      the extra data
    • 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.
      Parameters:
      b - the buffer which contains the data
      start - the start position in the buffer
      length - the length of the block
    • setData

      public void setData(byte[] b)
      Sets the extra data (in the parent application's format) to be contained by the record. Used when the parent application changes the contents.
      Parameters:
      b - the data
    • 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
    • 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
    • getGenericRecordType

      public Enum getGenericRecordType()
    • getGenericProperties

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

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