public final class EscherContainerRecord extends EscherRecord
| Modifier and Type | Field and Description |
|---|---|
static short |
BSTORE_CONTAINER |
static short |
DG_CONTAINER |
static short |
DGG_CONTAINER |
static short |
SOLVER_CONTAINER |
static short |
SP_CONTAINER |
static short |
SPGR_CONTAINER |
| Constructor and Description |
|---|
EscherContainerRecord() |
| Modifier and Type | Method and Description |
|---|---|
void |
addChildBefore(EscherRecord record,
int insertBeforeRecordId) |
void |
addChildRecord(EscherRecord record) |
void |
display(java.io.PrintWriter w,
int indent)
The display methods allows escher variables to print the record names
according to their hierarchy.
|
int |
fillFields(byte[] data,
int pOffset,
EscherRecordFactory recordFactory)
The contract of this method is to deserialize an escher record including
it's children.
|
EscherRecord |
getChild(int index)
Returns the indexed child record.
|
<T extends EscherRecord> |
getChildById(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.String |
getRecordName()
Subclasses should return the short name for this escher record.
|
void |
getRecordsById(short recordId,
java.util.List<EscherRecord> out)
Recursively find records with the specified record ID
|
int |
getRecordSize()
Subclasses should effeciently return the number of bytes required to
serialize the record.
|
boolean |
hasChildOfType(short recordId)
Do any of our (top level) children have the
given recordId?
|
boolean |
removeChildRecord(EscherRecord toBeRemoved) |
int |
serialize(int offset,
byte[] data,
EscherSerializationListener listener)
Serializes the record to an existing byte array.
|
void |
setChildRecords(java.util.List<EscherRecord> childRecords)
replaces the internal child list with the contents of the supplied childRecords
|
java.lang.String |
toString() |
java.lang.String |
toXml(java.lang.String tab) |
clone, fillFields, formatXmlRecordHeader, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setInstance, setOptions, setRecordId, setVersion, toXmlpublic static final short DGG_CONTAINER
public static final short BSTORE_CONTAINER
public static final short DG_CONTAINER
public static final short SPGR_CONTAINER
public static final short SP_CONTAINER
public static final short SOLVER_CONTAINER
public int fillFields(byte[] data,
int pOffset,
EscherRecordFactory recordFactory)
EscherRecordfillFields in class EscherRecorddata - The byte array containing the serialized escher
records.pOffset - The offset into the byte array.recordFactory - A factory for creating new escher records.public int serialize(int offset,
byte[] data,
EscherSerializationListener listener)
EscherRecordserialize in class EscherRecordoffset - 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.public int getRecordSize()
EscherRecordgetRecordSize in class EscherRecordpublic boolean hasChildOfType(short recordId)
public EscherRecord getChild(int index)
EscherRecordgetChild in class EscherRecordpublic java.util.List<EscherRecord> getChildRecords()
getChildRecords in class EscherRecordEscherContainerRecordpublic java.util.Iterator<EscherRecord> getChildIterator()
public void setChildRecords(java.util.List<EscherRecord> childRecords)
setChildRecords in class EscherRecordchildRecords - Not used in base implementation.public boolean removeChildRecord(EscherRecord toBeRemoved)
public java.util.List<EscherContainerRecord> getChildContainers()
public java.lang.String getRecordName()
EscherRecordgetRecordName in class EscherRecordpublic void display(java.io.PrintWriter w,
int indent)
EscherRecorddisplay in class EscherRecordw - The print writer to output to.indent - The current indent level.public void addChildRecord(EscherRecord record)
public void addChildBefore(EscherRecord record, int insertBeforeRecordId)
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toXml(java.lang.String tab)
toXml in class EscherRecordtab - - each children must be a right of his parentpublic <T extends EscherRecord> T getChildById(short recordId)
public void getRecordsById(short recordId,
java.util.List<EscherRecord> out)
out - - list to store found recordsCopyright 2014 The Apache Software Foundation or its licensors, as applicable.