## org.apache.poi.ddf
Class EscherDggRecord

    java.lang.Object
      org.apache.poi.ddf.EscherRecord
          org.apache.poi.ddf.EscherDggRecord

    public final class EscherDggRecord

extends EscherRecord

This record defines the drawing groups used for a particular sheet.

Nested Class Summary
`static class` `EscherDggRecord.FileIdCluster`

Field Summary
`static java.lang.String` `RECORD_DESCRIPTION`
`static short` `RECORD_ID`

Constructor Summary
`EscherDggRecord()`

Method Summary
`void` `addCluster(int dgId, int numShapedUsed)`
`void` `addCluster(int dgId, int numShapedUsed, boolean sort)` Add a new cluster
`int` `fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)` The contract of this method is to deserialize an escher record including it's children.
`int` `getDrawingsSaved()`
`EscherDggRecord.FileIdCluster[]` `getFileIdClusters()`
`int` `getMaxDrawingGroupId()`
`int` `getNumIdClusters()` Number of id clusters + 1
`int` `getNumShapesSaved()`
`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()`
`int` `serialize(int offset, byte[] data, EscherSerializationListener listener)` Serializes the record to an existing byte array.
`void` `setDrawingsSaved(int drawingsSaved)`
`void` `setFileIdClusters(EscherDggRecord.FileIdCluster[] fileIdClusters)`
`void` `setMaxDrawingGroupId(int id)`
`void` `setNumShapesSaved(int numShapesSaved)`
`void` `setShapeIdMax(int shapeIdMax)` The maximum is actually the next available.
`java.lang.String` `toString()`

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`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### RECORD_ID

    public static final short RECORD_ID

See Also:
  Constant Field Values

### RECORD_DESCRIPTION

    public static final java.lang.String RECORD_DESCRIPTION

See Also:
  Constant Field Values

Constructor Detail

### EscherDggRecord

    public EscherDggRecord()

Method Detail

### fillFields

    public int fillFields(byte[] data,
                          int offset,
                          EscherRecordFactory recordFactory)

  Description copied from class: `EscherRecord`
  The contract of this method is to deserialize an escher record including it's children.

  Specified by:
    `fillFields` in class `EscherRecord`
  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

    public int serialize(int offset,
                         byte[] data,
                         EscherSerializationListener listener)

  Description copied from class: `EscherRecord`
  Serializes the record to an existing byte array.

  Specified by:
    `serialize` in class `EscherRecord`
  Parameters:
    `offset` - the offset within the byte array
    `data` - the data array to serialize to
    `listener` - 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 class `EscherRecord`
  Returns:
    number of bytes

### getRecordId

    public short getRecordId()

  Description copied from class: `EscherRecord`
  Return the current record id.

  Overrides:
    `getRecordId` in class `EscherRecord`
  Returns:
    The 16 bit record id.

### getRecordName

    public java.lang.String getRecordName()

  Description copied from class: `EscherRecord`
  Subclasses should return the short name for this escher record.

  Specified by:
    `getRecordName` in class `EscherRecord`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### getShapeIdMax

    public int getShapeIdMax()

### setShapeIdMax

    public void setShapeIdMax(int shapeIdMax)

  The maximum is actually the next available. shape id.

### getNumIdClusters

    public int getNumIdClusters()

  Number of id clusters + 1

### getNumShapesSaved

    public int getNumShapesSaved()

### setNumShapesSaved

    public void setNumShapesSaved(int numShapesSaved)

### getDrawingsSaved

    public int getDrawingsSaved()

### setDrawingsSaved

    public void setDrawingsSaved(int drawingsSaved)

### getMaxDrawingGroupId

    public int getMaxDrawingGroupId()

  Returns:
    The maximum drawing group ID

### setMaxDrawingGroupId

    public void setMaxDrawingGroupId(int id)

### getFileIdClusters

    public EscherDggRecord.FileIdCluster[] getFileIdClusters()

### setFileIdClusters

    public void setFileIdClusters(EscherDggRecord.FileIdCluster[] fileIdClusters)

### addCluster

    public void addCluster(int dgId,
                           int numShapedUsed)

### addCluster

    public void addCluster(int dgId,
                           int numShapedUsed,
                           boolean sort)

  Add a new cluster

  Parameters:
    `dgId` - id of the drawing group (stored in the record options)
    `numShapedUsed` - initial value of the numShapedUsed field
    `sort` - if true then sort clusters by drawing group id.( In Excel the clusters are sorted but in PPT they are not)

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.