Package org.apache.poi.ddf
Class EscherDggRecord
java.lang.Object
org.apache.poi.ddf.EscherRecord
org.apache.poi.ddf.EscherDggRecord
- All Implemented Interfaces:
Cloneable
This record defines the drawing groups used for a particular sheet.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddCluster
(int dgId, int numShapedUsed) Add a new clusteraddCluster
(int dgId, int numShapedUsed, boolean sort) Add a new clusterint
allocateShapeId
(EscherDgRecord dg, boolean sort) Allocates new shape id for the drawing groupint
fillFields
(byte[] data, int offset, EscherRecordFactory recordFactory) The contract of this method is to deserialize an escher record including it's children.short
Finds the next available (1 based) drawing group idprotected Object[][]
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
Gets the number of drawings savedint
Gets the maximum drawing group IDint
Number of id clusters + 1int
Gets the number of shapes savedshort
Return the current record id.Subclasses should return the short name for this escher record.int
Subclasses should effeciently return the number of bytes required to serialize the record.int
Gets the next available shape idint
serialize
(int offset, byte[] data, EscherSerializationListener listener) Serializes the record to an existing byte array.void
setDrawingsSaved
(int drawingsSaved) Sets the number of drawings savedvoid
setFileIdClusters
(EscherDggRecord.FileIdCluster[] fileIdClusters) Sets the file id clustersvoid
setNumShapesSaved
(int numShapesSaved) Sets the number of shapes savedvoid
setShapeIdMax
(int shapeIdMax) The maximum is actually the next available shape id.Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, display, fillFields, getChild, getChildRecords, getInstance, getOptions, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
-
Field Details
-
RECORD_ID
public static final short RECORD_ID- See Also:
-
RECORD_DESCRIPTION
- See Also:
-
-
Constructor Details
-
EscherDggRecord
public EscherDggRecord()
-
-
Method Details
-
fillFields
Description copied from class:EscherRecord
The contract of this method is to deserialize an escher record including it's children.- Specified by:
fillFields
in 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:EscherRecord
Serializes the record to an existing byte array.- Specified by:
serialize
in 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:EscherRecord
Subclasses should effeciently return the number of bytes required to serialize the record.- Specified by:
getRecordSize
in classEscherRecord
- Returns:
- number of bytes
-
getRecordId
public short getRecordId()Description copied from class:EscherRecord
Return the current record id.- Overrides:
getRecordId
in classEscherRecord
- Returns:
- The 16 bit record id.
-
getRecordName
Description copied from class:EscherRecord
Subclasses should return the short name for this escher record.- Specified by:
getRecordName
in classEscherRecord
- Returns:
- the short name for this escher record
-
getShapeIdMax
public int getShapeIdMax()Gets the next available shape id- Returns:
- the next available shape id
-
setShapeIdMax
public void setShapeIdMax(int shapeIdMax) The maximum is actually the next available shape id.- Parameters:
shapeIdMax
- the next available shape id
-
getNumIdClusters
public int getNumIdClusters()Number of id clusters + 1- Returns:
- the number of id clusters + 1
-
getNumShapesSaved
public int getNumShapesSaved()Gets the number of shapes saved- Returns:
- the number of shapes saved
-
setNumShapesSaved
public void setNumShapesSaved(int numShapesSaved) Sets the number of shapes saved- Parameters:
numShapesSaved
- the number of shapes saved
-
getDrawingsSaved
public int getDrawingsSaved()Gets the number of drawings saved- Returns:
- the number of drawings saved
-
setDrawingsSaved
public void setDrawingsSaved(int drawingsSaved) Sets the number of drawings saved- Parameters:
drawingsSaved
- the number of drawings saved
-
getMaxDrawingGroupId
public int getMaxDrawingGroupId()Gets the maximum drawing group ID- Returns:
- The maximum drawing group ID
-
getFileIdClusters
- Returns:
- the file id clusters
-
setFileIdClusters
Sets the file id clusters- Parameters:
fileIdClusters
- the file id clusters
-
addCluster
Add a new cluster- Parameters:
dgId
- id of the drawing group (stored in the record options)numShapedUsed
- initial value of the numShapedUsed field- Returns:
- the new
EscherDggRecord.FileIdCluster
-
addCluster
Add a new cluster- Parameters:
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)- Returns:
- the new
EscherDggRecord.FileIdCluster
-
findNewDrawingGroupId
public short findNewDrawingGroupId()Finds the next available (1 based) drawing group id- Returns:
- the next available drawing group id
-
allocateShapeId
Allocates new shape id for the drawing group- Parameters:
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)- Returns:
- a new shape id.
-
getAttributeMap
Description copied from class:EscherRecord
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 }, ... }
.Null values won't be printed.
The attributes record, version, instance, options must not be returned.
- Specified by:
getAttributeMap
in classEscherRecord
- Returns:
- the attribute map
-