public final class EscherDggRecord extends EscherRecord
Modifier and Type | Class and Description |
---|---|
static class |
EscherDggRecord.FileIdCluster |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
RECORD_DESCRIPTION |
static short |
RECORD_ID |
Constructor and Description |
---|
EscherDggRecord() |
Modifier and Type | Method and Description |
---|---|
EscherDggRecord.FileIdCluster |
addCluster(int dgId,
int numShapedUsed)
Add a new cluster
|
EscherDggRecord.FileIdCluster |
addCluster(int dgId,
int numShapedUsed,
boolean sort)
Add a new cluster
|
int |
allocateShapeId(EscherDgRecord dg,
boolean sort)
Allocates new shape id for the drawing group
|
int |
fillFields(byte[] data,
int offset,
EscherRecordFactory recordFactory)
The contract of this method is to deserialize an escher record including
it's children.
|
short |
findNewDrawingGroupId()
Finds the next available (1 based) drawing group id
|
protected java.lang.Object[][] |
getAttributeMap()
For the purpose of providing toString() and toXml() a subclass can either override those methods
or provide a Object[][] array in the form { { "Attribute Name (Header)", value, "optional attribute", value }, ...
|
int |
getDrawingsSaved()
Gets the number of drawings saved
|
EscherDggRecord.FileIdCluster[] |
getFileIdClusters() |
int |
getMaxDrawingGroupId()
Gets the maximum drawing group ID
|
int |
getNumIdClusters()
Number of id clusters + 1
|
int |
getNumShapesSaved()
Gets the number of shapes saved
|
short |
getRecordId()
Return the current record id.
|
java.lang.String |
getRecordName()
Subclasses should return the short name for this escher record.
|
int |
getRecordSize()
Subclasses should effeciently return the number of bytes required to
serialize the record.
|
int |
getShapeIdMax()
Gets the next available shape id
|
int |
serialize(int offset,
byte[] data,
EscherSerializationListener listener)
Serializes the record to an existing byte array.
|
void |
setDrawingsSaved(int drawingsSaved)
Sets the number of drawings saved
|
void |
setFileIdClusters(EscherDggRecord.FileIdCluster[] fileIdClusters)
Sets the file id clusters
|
void |
setNumShapesSaved(int numShapesSaved)
Sets the number of shapes saved
|
void |
setShapeIdMax(int shapeIdMax)
The maximum is actually the next available shape id.
|
clone, display, fillFields, getChild, getChildRecords, getInstance, getOptions, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
public static final short RECORD_ID
public static final java.lang.String RECORD_DESCRIPTION
public int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
EscherRecord
fillFields
in class EscherRecord
data
- The byte array containing the serialized escher
records.offset
- 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 short getRecordId()
EscherRecord
getRecordId
in class EscherRecord
public java.lang.String getRecordName()
EscherRecord
getRecordName
in class EscherRecord
public int getShapeIdMax()
public void setShapeIdMax(int shapeIdMax)
shapeIdMax
- the next available shape idpublic int getNumIdClusters()
public int getNumShapesSaved()
public void setNumShapesSaved(int numShapesSaved)
numShapesSaved
- the number of shapes savedpublic int getDrawingsSaved()
public void setDrawingsSaved(int drawingsSaved)
drawingsSaved
- the number of drawings savedpublic int getMaxDrawingGroupId()
public EscherDggRecord.FileIdCluster[] getFileIdClusters()
public void setFileIdClusters(EscherDggRecord.FileIdCluster[] fileIdClusters)
fileIdClusters
- the file id clusterspublic EscherDggRecord.FileIdCluster addCluster(int dgId, int numShapedUsed)
dgId
- id of the drawing group (stored in the record options)numShapedUsed
- initial value of the numShapedUsed fieldEscherDggRecord.FileIdCluster
public EscherDggRecord.FileIdCluster addCluster(int dgId, int numShapedUsed, boolean sort)
dgId
- id of the drawing group (stored in the record options)numShapedUsed
- initial value of the numShapedUsed fieldsort
- if true then sort clusters by drawing group id.(
In Excel the clusters are sorted but in PPT they are not)EscherDggRecord.FileIdCluster
public short findNewDrawingGroupId()
public int allocateShapeId(EscherDgRecord dg, boolean sort)
dg
- the EscherDgRecord which receives the new shapesort
- if true then sort clusters by drawing group id.(
In Excel the clusters are sorted but in PPT they are not)protected java.lang.Object[][] getAttributeMap()
EscherRecord
{ { "Attribute Name (Header)", value, "optional attribute", value }, ... }
.Null values won't be printed.
The attributes record, version, instance, options must not be returned.
getAttributeMap
in class EscherRecord
Copyright 2018 The Apache Software Foundation or its licensors, as applicable.