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(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) |
List<EscherContainerRecord> |
getChildContainers()
Returns all of our children which are also
EscherContainers (may be 0, 1, or vary rarely
2 or 3)
|
Iterator<EscherRecord> |
getChildIterator() |
List<EscherRecord> |
getChildRecords() |
String |
getRecordName()
Subclasses should return the short name for this escher record.
|
void |
getRecordsById(short recordId,
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(List<EscherRecord> childRecords)
replaces the internal child list with the contents of the supplied childRecords
|
String |
toString() |
String |
toXml(String tab) |
clone, fillFields, formatXmlRecordHeader, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setInstance, setOptions, setRecordId, setVersion, toXml
public 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)
EscherRecord
fillFields
in class EscherRecord
data
- 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)
EscherRecord
serialize
in class EscherRecord
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.public int getRecordSize()
EscherRecord
getRecordSize
in class EscherRecord
public boolean hasChildOfType(short recordId)
public EscherRecord getChild(int index)
EscherRecord
getChild
in class EscherRecord
public List<EscherRecord> getChildRecords()
getChildRecords
in class EscherRecord
EscherContainerRecord
public Iterator<EscherRecord> getChildIterator()
public void setChildRecords(List<EscherRecord> childRecords)
setChildRecords
in class EscherRecord
childRecords
- Not used in base implementation.public boolean removeChildRecord(EscherRecord toBeRemoved)
public List<EscherContainerRecord> getChildContainers()
public String getRecordName()
EscherRecord
getRecordName
in class EscherRecord
public void display(PrintWriter w, int indent)
EscherRecord
display
in class EscherRecord
w
- The print writer to output to.indent
- The current indent level.public void addChildRecord(EscherRecord record)
public void addChildBefore(EscherRecord record, int insertBeforeRecordId)
public String toXml(String tab)
toXml
in class EscherRecord
tab
- - each children must be a right of his parentpublic <T extends EscherRecord> T getChildById(short recordId)
public void getRecordsById(short recordId, List<EscherRecord> out)
out
- - list to store found recordsCopyright © 2020. All rights reserved.