Package org.apache.poi.ddf
Class EscherTextboxRecord
- java.lang.Object
-
- org.apache.poi.ddf.EscherRecord
-
- org.apache.poi.ddf.EscherTextboxRecord
-
- All Implemented Interfaces:
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 Summary
Fields Modifier and Type Field Description static shortRECORD_ID
-
Constructor Summary
Constructors Constructor Description EscherTextboxRecord()EscherTextboxRecord(EscherTextboxRecord other)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description EscherTextboxRecordcopy()intfillFields(byte[] data, int offset, EscherRecordFactory recordFactory)The contract of this method is to deserialize an escher record including its children.byte[]getData()Returns any extra data associated with this record.Map<String,Supplier<?>>getGenericProperties()EnumgetGenericRecordType()static intgetMaxRecordLength()StringgetRecordName()Subclasses should return the short name for this escher record.intgetRecordSize()Subclasses should effeciently return the number of bytes required to serialize the record.intserialize(int offset, byte[] data, EscherSerializationListener listener)Serializes the record to an existing byte array.voidsetData(byte[] b)Sets the extra data (in the parent application's format) to be contained by the record.voidsetData(byte[] b, int start, int length)Sets the extra data (in the parent application's format) to be contained by the record.static voidsetMaxRecordLength(int length)-
Methods inherited from class org.apache.poi.ddf.EscherRecord
display, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
-
-
-
-
Constructor Detail
-
EscherTextboxRecord
public EscherTextboxRecord()
-
EscherTextboxRecord
public EscherTextboxRecord(EscherTextboxRecord other)
-
-
Method Detail
-
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:EscherRecordThe contract of this method is to deserialize an escher record including its children.- Specified by:
fillFieldsin classEscherRecord- 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:EscherRecordSerializes the record to an existing byte array.- Specified by:
serializein classEscherRecord- Parameters:
offset- the offset within the byte arraydata- the data array to serialize tolistener- 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 datastart- the start position in the bufferlength- 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:EscherRecordSubclasses should effeciently return the number of bytes required to serialize the record.- Specified by:
getRecordSizein classEscherRecord- Returns:
- number of bytes
-
getRecordName
public String getRecordName()
Description copied from class:EscherRecordSubclasses should return the short name for this escher record.- Specified by:
getRecordNamein classEscherRecord- Returns:
- the short name for this escher record
-
getGenericRecordType
public Enum getGenericRecordType()
-
getGenericProperties
public Map<String,Supplier<?>> getGenericProperties()
- Specified by:
getGenericPropertiesin interfaceGenericRecord- Overrides:
getGenericPropertiesin classEscherRecord
-
copy
public EscherTextboxRecord copy()
- Specified by:
copyin interfaceDuplicatable- Specified by:
copyin classEscherRecord- Returns:
- a deep copy of the implementing class / instance
-
-