Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.ddf
Class EscherDggRecord

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

All Implemented Interfaces:
  java.lang.Cloneable

    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
`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.

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`

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`
  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

    public EscherDggRecord.FileIdCluster[] getFileIdClusters()

  Returns:
    the file id clusters

### setFileIdClusters

    public void setFileIdClusters(EscherDggRecord.FileIdCluster[] fileIdClusters)

  Sets the file id clusters

  Parameters:
    `fileIdClusters` - the file id clusters

### addCluster

    public EscherDggRecord.FileIdCluster addCluster(int dgId,
                                                    int numShapedUsed)

  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

    public EscherDggRecord.FileIdCluster 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)
  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

    public int allocateShapeId(EscherDgRecord dg,
                               boolean sort)

  Allocates new shape id for the drawing group

  Parameters:
    `dg` - the EscherDgRecord which receives the new shape
    `sort` - 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

    protected java.lang.Object[][] 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 class `EscherRecord`
  Returns:
    the attribute map

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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