org.apache.poi.ddf
Class EscherComplexProperty

java.lang.Object
  extended by org.apache.poi.ddf.EscherProperty
      extended by org.apache.poi.ddf.EscherComplexProperty
Direct Known Subclasses:
EscherArrayProperty

public class EscherComplexProperty
extends EscherProperty

A complex property differs from a simple property in that the data can not fit inside a 32 bit integer. See the specification for more detailed information regarding exactly what is stored here.


Constructor Summary
EscherComplexProperty(short propertyNumber, boolean isBlipId, byte[] complexData)
          Create a complex property using the property number, a flag to indicate whether this is a blip reference and the complex property data.
EscherComplexProperty(short id, byte[] complexData)
          Create a complex property using the property id and a byte array containing the complex data value.
 
Method Summary
 boolean equals(java.lang.Object o)
          Determine whether this property is equal to another property.
 byte[] getComplexData()
          Get the complex data value.
 int getPropertySize()
          Calculates the number of bytes required to serialize this property.
 int hashCode()
           
 int serializeComplexPart(byte[] data, int pos)
          Serializes the complex part of this property
 int serializeSimplePart(byte[] data, int pos)
          Serializes the simple part of this property.
protected  void setComplexData(byte[] _complexData)
           
 java.lang.String toString()
          Retrieves the string representation for this property.
 java.lang.String toXml(java.lang.String tab)
           
 
Methods inherited from class org.apache.poi.ddf.EscherProperty
getId, getName, getPropertyNumber, isBlipId, isComplex
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EscherComplexProperty

public EscherComplexProperty(short id,
                             byte[] complexData)
Create a complex property using the property id and a byte array containing the complex data value.

Parameters:
id - The id consists of the property number, a flag indicating whether this is a blip id and a flag indicating that this is a complex property.
complexData - The value of this property.

EscherComplexProperty

public EscherComplexProperty(short propertyNumber,
                             boolean isBlipId,
                             byte[] complexData)
Create a complex property using the property number, a flag to indicate whether this is a blip reference and the complex property data.

Parameters:
propertyNumber - The property number
isBlipId - Whether this is a blip id. Should be false.
complexData - The value of this complex property.
Method Detail

serializeSimplePart

public int serializeSimplePart(byte[] data,
                               int pos)
Serializes the simple part of this property. i.e. the first 6 bytes.

Specified by:
serializeSimplePart in class EscherProperty
Parameters:
data - the buffer to write to
pos - the starting position
Returns:
the length of the part

serializeComplexPart

public int serializeComplexPart(byte[] data,
                                int pos)
Serializes the complex part of this property

Specified by:
serializeComplexPart in class EscherProperty
Parameters:
data - The data array to serialize to
pos - The offset within data to start serializing to.
Returns:
The number of bytes serialized.

getComplexData

public byte[] getComplexData()
Get the complex data value.

Returns:
the complex bytes

setComplexData

protected void setComplexData(byte[] _complexData)

equals

public boolean equals(java.lang.Object o)
Determine whether this property is equal to another property.

Overrides:
equals in class java.lang.Object
Parameters:
o - The object to compare to.
Returns:
True if the objects are equal.

getPropertySize

public int getPropertySize()
Calculates the number of bytes required to serialize this property.

Overrides:
getPropertySize in class EscherProperty
Returns:
Number of bytes

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Retrieves the string representation for this property.

Specified by:
toString in class EscherProperty

toXml

public java.lang.String toXml(java.lang.String tab)
Overrides:
toXml in class EscherProperty