org.apache.poi.ddf
Class EscherDgRecord

java.lang.Object
  extended by org.apache.poi.ddf.EscherRecord
      extended by org.apache.poi.ddf.EscherDgRecord
All Implemented Interfaces:
java.lang.Cloneable

public class EscherDgRecord
extends EscherRecord

This record simply holds the number of shapes in the drawing group and the last shape id used for this drawing group.


Field Summary
static java.lang.String RECORD_DESCRIPTION
           
static short RECORD_ID
           
 
Constructor Summary
EscherDgRecord()
           
 
Method Summary
 int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
          The contract of this method is to deserialize an escher record including it's children.
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 }, ...
 short getDrawingGroupId()
          Gets the drawing group id for this record.
 int getLastMSOSPID()
          The last shape id used in this drawing group.
 int getNumShapes()
          The number of shapes in this drawing group.
 short getRecordId()
          Return the current record id.
 java.lang.String getRecordName()
          Subclasses should return the short name for this escher record.
 int getRecordSize()
          Returns the number of bytes that are required to serialize this record.
 void incrementShapeCount()
          Increments the number of shapes
 int serialize(int offset, byte[] data, EscherSerializationListener listener)
          Serializes the record to an existing byte array.
 void setLastMSOSPID(int field_2_lastMSOSPID)
          The last shape id used in this drawing group.
 void setNumShapes(int field_1_numShapes)
          The number of shapes in this drawing group.
 
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

EscherDgRecord

public EscherDgRecord()
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()
Returns the number of bytes that are required to serialize this 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

getNumShapes

public int getNumShapes()
The number of shapes in this drawing group.

Returns:
the number of shapes

setNumShapes

public void setNumShapes(int field_1_numShapes)
The number of shapes in this drawing group.

Parameters:
field_1_numShapes - the number of shapes

getLastMSOSPID

public int getLastMSOSPID()
The last shape id used in this drawing group.

Returns:
the last shape id

setLastMSOSPID

public void setLastMSOSPID(int field_2_lastMSOSPID)
The last shape id used in this drawing group.

Parameters:
field_2_lastMSOSPID - the last shape id

getDrawingGroupId

public short getDrawingGroupId()
Gets the drawing group id for this record. This is encoded in the instance part of the option record.

Returns:
a drawing group id.

incrementShapeCount

public void incrementShapeCount()
Increments the number of shapes


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