org.apache.poi.ddf
Class EscherContainerRecord
- java.lang.Object
-
- org.apache.poi.ddf.EscherRecord
-
- org.apache.poi.ddf.EscherContainerRecord
-
public final class EscherContainerRecord extends EscherRecord
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.
-
-
Field Summary
Fields Modifier and Type Field and Description static shortBSTORE_CONTAINERstatic shortDG_CONTAINERstatic shortDGG_CONTAINERstatic shortSOLVER_CONTAINERstatic shortSP_CONTAINERstatic shortSPGR_CONTAINER
-
Constructor Summary
Constructors Constructor and Description EscherContainerRecord()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddChildBefore(EscherRecord record, int insertBeforeRecordId)voidaddChildRecord(EscherRecord record)voiddisplay(java.io.PrintWriter w, int indent)The display methods allows escher variables to print the record names according to their hierarchy.intfillFields(byte[] data, int pOffset, EscherRecordFactory recordFactory)The contract of this method is to deserialize an escher record including it's children.EscherRecordgetChild(int index)Returns the indexed child record.<T extends EscherRecord>
TgetChildById(short recordId)java.util.List<EscherContainerRecord>getChildContainers()Returns all of our children which are also EscherContainers (may be 0, 1, or vary rarely 2 or 3)java.util.Iterator<EscherRecord>getChildIterator()java.util.List<EscherRecord>getChildRecords()java.lang.StringgetRecordName()Subclasses should return the short name for this escher record.voidgetRecordsById(short recordId, java.util.List<EscherRecord> out)Recursively find records with the specified record IDintgetRecordSize()Subclasses should effeciently return the number of bytes required to serialize the record.booleanhasChildOfType(short recordId)Do any of our (top level) children have the given recordId?booleanremoveChildRecord(EscherRecord toBeRemoved)intserialize(int offset, byte[] data, EscherSerializationListener listener)Serializes the record to an existing byte array.voidsetChildRecords(java.util.List<EscherRecord> childRecords)replaces the internal child list with the contents of the supplied childRecordsjava.lang.StringtoString()java.lang.StringtoXml(java.lang.String tab)-
Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, serialize, serialize, setInstance, setOptions, setRecordId, setVersion, toXml
-
-
-
-
Field Detail
-
DGG_CONTAINER
public static final short DGG_CONTAINER
- See Also:
- Constant Field Values
-
BSTORE_CONTAINER
public static final short BSTORE_CONTAINER
- See Also:
- Constant Field Values
-
DG_CONTAINER
public static final short DG_CONTAINER
- See Also:
- Constant Field Values
-
SPGR_CONTAINER
public static final short SPGR_CONTAINER
- See Also:
- Constant Field Values
-
SP_CONTAINER
public static final short SP_CONTAINER
- See Also:
- Constant Field Values
-
SOLVER_CONTAINER
public static final short SOLVER_CONTAINER
- See Also:
- Constant Field Values
-
-
Method Detail
-
fillFields
public int fillFields(byte[] data, int pOffset, EscherRecordFactory recordFactory)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.pOffset- 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.
-
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
-
hasChildOfType
public boolean hasChildOfType(short recordId)
Do any of our (top level) children have the given recordId?
-
getChild
public EscherRecord getChild(int index)
Description copied from class:EscherRecordReturns the indexed child record.- Overrides:
getChildin classEscherRecord
-
getChildRecords
public java.util.List<EscherRecord> getChildRecords()
- Overrides:
getChildRecordsin classEscherRecord- Returns:
- a copy of the list of all the child records of the container.
- See Also:
EscherContainerRecord
-
getChildIterator
public java.util.Iterator<EscherRecord> getChildIterator()
-
setChildRecords
public void setChildRecords(java.util.List<EscherRecord> childRecords)
replaces the internal child list with the contents of the supplied childRecords- Overrides:
setChildRecordsin classEscherRecord- Parameters:
childRecords- Not used in base implementation.
-
removeChildRecord
public boolean removeChildRecord(EscherRecord toBeRemoved)
-
getChildContainers
public java.util.List<EscherContainerRecord> getChildContainers()
Returns all of our children which are also EscherContainers (may be 0, 1, or vary rarely 2 or 3)
-
getRecordName
public java.lang.String getRecordName()
Description copied from class:EscherRecordSubclasses should return the short name for this escher record.- Specified by:
getRecordNamein classEscherRecord
-
display
public void display(java.io.PrintWriter w, int indent)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
public void addChildRecord(EscherRecord record)
-
addChildBefore
public void addChildBefore(EscherRecord record, int insertBeforeRecordId)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toXml
public java.lang.String toXml(java.lang.String tab)
- Overrides:
toXmlin classEscherRecord- Parameters:
tab- - each children must be a right of his parent- Returns:
- xml representation of this record
-
getChildById
public <T extends EscherRecord> T getChildById(short recordId)
-
getRecordsById
public void getRecordsById(short recordId, java.util.List<EscherRecord> out)Recursively find records with the specified record ID- Parameters:
out- - list to store found records
-
-
DataMelt 3.0 © DataMelt by jWork.ORG