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 clusterintallocateShapeId(EscherDgRecord dg, boolean sort) Allocates new shape id for the drawing groupintfillFields(byte[] data, int offset, EscherRecordFactory recordFactory) The contract of this method is to deserialize an escher record including it's children.shortFinds 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 }, ... }.intGets the number of drawings savedintGets the maximum drawing group IDintNumber of id clusters + 1intGets the number of shapes savedshortReturn the current record id.Subclasses should return the short name for this escher record.intSubclasses should effeciently return the number of bytes required to serialize the record.intGets the next available shape idintserialize(int offset, byte[] data, EscherSerializationListener listener) Serializes the record to an existing byte array.voidsetDrawingsSaved(int drawingsSaved) Sets the number of drawings savedvoidsetFileIdClusters(EscherDggRecord.FileIdCluster[] fileIdClusters) Sets the file id clustersvoidsetNumShapesSaved(int numShapesSaved) Sets the number of shapes savedvoidsetShapeIdMax(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: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.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: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
-
getRecordId
public short getRecordId()Description copied from class:EscherRecordReturn the current record id.- Overrides:
getRecordIdin classEscherRecord- Returns:
- The 16 bit record id.
-
getRecordName
Description copied from class:EscherRecordSubclasses should return the short name for this escher record.- Specified by:
getRecordNamein 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:EscherRecordFor 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:
getAttributeMapin classEscherRecord- Returns:
- the attribute map
-