org.apache.poi.ddf
Class AbstractEscherOptRecord

java.lang.Object
  extended by org.apache.poi.ddf.EscherRecord
      extended by 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)
           
 void removeEscherProperty(int num)
           
 int serialize(int offset, byte[] data, EscherSerializationListener listener)
          Serializes the record to an existing byte array.
 void setEscherProperty(EscherProperty value)
          Set an escher property.
 void sortProperties()
          Records should be sorted by property number before being stored.
 java.lang.String toString()
          Retrieve the string representation of this record.
 java.lang.String toXml(java.lang.String tab)
           
 
Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, display, fillFields, formatXmlRecordHeader, getChild, getChildRecords, getInstance, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toXml
 
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.


setEscherProperty

public void setEscherProperty(EscherProperty value)
Set an escher property. If a property with given propId already exists it is replaced.

Parameters:
value - the property to set.

removeEscherProperty

public void removeEscherProperty(int num)

toString

public java.lang.String toString()
Retrieve the string representation of this record.

Overrides:
toString in class java.lang.Object

toXml

public java.lang.String toXml(java.lang.String tab)
Overrides:
toXml in class EscherRecord
Parameters:
tab - - each children must be a right of his parent
Returns:
xml representation of this record


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