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.

Author:
Glen Stampoultzis

Field Summary
protected  byte[] _complexData
           
 
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.
 java.lang.String toString()
          Retrieves the string representation for this property.
 
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
 

Field Detail

_complexData

protected byte[] _complexData
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

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.


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.

Overrides:
toString in class java.lang.Object


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