## org.apache.poi.ddf
Class EscherContainerRecord

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

public class EscherContainerRecord
extends EscherRecord

Escher container records store other escher records as children. The container records themselves never store any information beyond the standard header used by all escher records. This one record is used to represent many different types of records.

Author:
  Glen Stampoultzis

Field Summary
`static short` `BSTORE_CONTAINER`
`static short` `DG_CONTAINER`
`static short` `DGG_CONTAINER`
`static short` `SOLVER_CONTAINER`
`static short` `SP_CONTAINER`
`static short` `SPGR_CONTAINER`

Constructor Summary
`EscherContainerRecord()`

Method Summary
`void` `addChildRecord(EscherRecord record)`
`void` `display(java.io.PrintWriter w, int indent)` The display methods allows escher variables to print the record names according to their hierarchy.
`int` `fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)` The contract of this method is to deserialize an escher record including it's children.
`EscherSpRecord` `getChildById(short recordId)`
`java.util.List` `getChildRecords()`
`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` `serialize(int offset, byte[] data, EscherSerializationListener listener)` Serializes the record to an existing byte array.
`void` `setChildRecords(java.util.List childRecords)` Sets the child records for this record.
`java.lang.String` `toString()`

Methods inherited from class org.apache.poi.ddf.EscherRecord
`clone, fillFields, getChild, getInstance, getOptions, getRecordId, isContainerRecord, readHeader, serialize, serialize, setOptions, setRecordId`

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

Field Detail

### DGG_CONTAINER

    public static final short DGG_CONTAINER

See Also:
  Constant Field Values

### BSTORE_CONTAINER

    public static final short BSTORE_CONTAINER

See Also:
  Constant Field Values

### DG_CONTAINER

    public static final short DG_CONTAINER

See Also:
  Constant Field Values

### SPGR_CONTAINER

    public static final short SPGR_CONTAINER

See Also:
  Constant Field Values

### SP_CONTAINER

    public static final short SP_CONTAINER

See Also:
  Constant Field Values

### SOLVER_CONTAINER

    public static final short SOLVER_CONTAINER

See Also:
  Constant Field Values

Constructor Detail

### EscherContainerRecord

    public EscherContainerRecord()

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

### getChildRecords

    public java.util.List getChildRecords()

  Overrides:
    `getChildRecords` in class `EscherRecord`
  Returns:
    Returns the children of this record. By default this will be an empty list. EscherCotainerRecord is the only record that may contain children.
  See Also:
    `EscherContainerRecord`

### setChildRecords

    public void setChildRecords(java.util.List childRecords)

  Description copied from class: `EscherRecord`
  Sets the child records for this record. By default this will throw an exception as only EscherContainerRecords may have children.

  Overrides:
    `setChildRecords` in class `EscherRecord`
  Parameters:
    `childRecords` - Not used in base implementation.

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

### display

    public void display(java.io.PrintWriter w,
                        int indent)

  Description copied from class: `EscherRecord`
  The display methods allows escher variables to print the record names according to their hierarchy.

  Overrides:
    `display` in class `EscherRecord`
  Parameters:
    `w` - The print writer to output to.
    `indent` - The current indent level.

### addChildRecord

    public void addChildRecord(EscherRecord record)

### toString

    public java.lang.String toString()

### getChildById

    public EscherSpRecord getChildById(short recordId)

Copyright © 2003 Apache Software Foundation.