org.apache.poi.ddf
Class EscherOptRecord

java.lang.Object
  extended by org.apache.poi.ddf.EscherRecord
      extended by org.apache.poi.ddf.EscherOptRecord

public class EscherOptRecord
extends EscherRecord

The opt record is used to store property values for a shape. It is the key to determining the attributes of a shape. Properties can be of two types: simple or complex. Simple types are fixed length. Complex properties are variable length.

Author:
Glen Stampoultzis

Field Summary
static java.lang.String RECORD_DESCRIPTION
           
static short RECORD_ID
           
 
Constructor Summary
EscherOptRecord()
           
 
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 getEscherProperties()
          The list of properties stored by this record.
 EscherProperty getEscherProperty(int index)
          The list of properties stored by this record.
 short getOptions()
          Automatically recalculate the correct option
 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 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, getRecordId, isContainerRecord, readHeader, serialize, serialize, setChildRecords, setOptions, setRecordId
 
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

EscherOptRecord

public EscherOptRecord()
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

getOptions

public short getOptions()
Automatically recalculate the correct option

Overrides:
getOptions in class EscherRecord
Returns:
The options field for this record. All records have one.

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

toString

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

Overrides:
toString in class java.lang.Object

getEscherProperties

public java.util.List getEscherProperties()
The list of properties stored by this record.


getEscherProperty

public EscherProperty getEscherProperty(int index)
The list of properties stored by this record.


addEscherProperty

public void addEscherProperty(EscherProperty prop)
Add a property to this record.


sortProperties

public void sortProperties()
Records should be sorted by property number before being stored.



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