## org.apache.poi.ddf
Class AbstractEscherOptRecord

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

Direct Known Subclasses:
  EscherOptRecord, EscherTertiaryOptRecord

    public abstract class AbstractEscherOptRecord

extends EscherRecord

Common abstract class for `EscherOptRecord` and `EscherTertiaryOptRecord`

Author:
  Sergey Vladimirov (vlsergey {at} gmail {dot} com), Glen Stampoultzis

Field Summary
`protected java.util.List<EscherProperty>` `properties`

Constructor Summary
`AbstractEscherOptRecord()`

Method Summary
`void` `addEscherProperty(EscherProperty prop)` Add a property to this record.
`int` `fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)` The contract of this method is to deserialize an escher record including it's children.
`java.util.List<EscherProperty>` `getEscherProperties()` The list of properties stored by this record.
`EscherProperty` `getEscherProperty(int index)` The list of properties stored by this record.
`int` `getRecordSize()` Subclasses should effeciently return the number of bytes required to serialize the record.

`

`<T extends EscherProperty> T`

`

`lookup(int propId)`

`int` `serialize(int offset, byte[] data, EscherSerializationListener listener)` Serializes the record to an existing byte array.
`void` `sortProperties()` Records should be sorted by property number before being stored.
`java.lang.String` `toString()` Retrieve the string representation of this record.

Methods inherited from class org.apache.poi.ddf.EscherRecord
`clone, display, fillFields, getChild, getChildRecords, getInstance, getOptions, getRecordId, getRecordName, 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

### properties

    protected java.util.List<EscherProperty> properties

Constructor Detail

### AbstractEscherOptRecord

    public AbstractEscherOptRecord()

Method Detail

### addEscherProperty

    public void addEscherProperty(EscherProperty prop)

  Add a property to this record.

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

### getEscherProperties

    public java.util.List<EscherProperty> getEscherProperties()

  The list of properties stored by this record.

### getEscherProperty

    public EscherProperty getEscherProperty(int index)

  The list of properties stored by this record.

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

### lookup

    public <T extends EscherProperty> T lookup(int propId)

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

### sortProperties

    public void sortProperties()

  Records should be sorted by property number before being stored.

### toString

    public java.lang.String toString()

  Retrieve the string representation of this record.

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

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