Package loci.poi.ddf
Class EscherContainerRecord
java.lang.Object
loci.poi.ddf.EscherRecord
loci.poi.ddf.EscherContainerRecord
Escher container records store other escher records as children.
The container records themselves never store any information beyond
the standard header used by all escher records. This one record is
used to represent many different types of records.
- Author:
- Glen Stampoultzis
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final short -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChildRecord(EscherRecord record) voiddisplay(PrintWriter w, int indent) The display methods allows escher variables to print the record names according to their hierarchy.intfillFields(byte[] data, int offset, EscherRecordFactory recordFactory) The contract of this method is to deserialize an escher record including it's children.getChildById(short recordId) Subclasses should return the short name for this escher record.intSubclasses 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.voidsetChildRecords(List childRecords) Sets the child records for this record.toString()Methods inherited from class loci.poi.ddf.EscherRecord
clone, fillFields, getChild, getInstance, getOptions, getRecordId, isContainerRecord, readHeader, serialize, serialize, setOptions, setRecordId
-
Field Details
-
DGG_CONTAINER
public static final short DGG_CONTAINER- See Also:
-
BSTORE_CONTAINER
public static final short BSTORE_CONTAINER- See Also:
-
DG_CONTAINER
public static final short DG_CONTAINER- See Also:
-
SPGR_CONTAINER
public static final short SPGR_CONTAINER- See Also:
-
SP_CONTAINER
public static final short SP_CONTAINER- See Also:
-
SOLVER_CONTAINER
public static final short SOLVER_CONTAINER- See Also:
-
-
Constructor Details
-
EscherContainerRecord
public EscherContainerRecord()
-
-
Method Details
-
fillFields
Description copied from class:EscherRecordThe contract of this method is to deserialize an escher record including it's 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
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.
-
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
-
getChildRecords
- Overrides:
getChildRecordsin classEscherRecord- Returns:
- Returns the children of this record. By default this will be an empty list. EscherCotainerRecord is the only record that may contain children.
- See Also:
-
setChildRecords
Description copied from class:EscherRecordSets the child records for this record. By default this will throw an exception as only EscherContainerRecords may have children.- Overrides:
setChildRecordsin classEscherRecord- Parameters:
childRecords- Not used in base implementation.
-
getRecordName
Description copied from class:EscherRecordSubclasses should return the short name for this escher record.- Specified by:
getRecordNamein classEscherRecord
-
display
Description copied from class:EscherRecordThe display methods allows escher variables to print the record names according to their hierarchy.- Overrides:
displayin classEscherRecord- Parameters:
w- The print writer to output to.indent- The current indent level.
-
addChildRecord
-
toString
-
getChildById
-