## org.apache.poi.ddf
Class EscherComplexProperty

    java.lang.Object
      org.apache.poi.ddf.EscherProperty
          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

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()` Caclulates the number of bytes required to serialize this property.
`int` `hashCode()` Calculates a hashcode for this property.
`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`

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

  Parameters:
    `o` - The object to compare to.
  Returns:
    True if the objects are equal.

### getPropertySize

    public int getPropertySize()

  Caclulates the number of bytes required to serialize this property.

  Overrides:
    `getPropertySize` in class `EscherProperty`
  Returns:
    Number of bytes

### hashCode

    public int hashCode()

  Calculates a hashcode for this property.

### toString

    public java.lang.String toString()

  Retrieves the string representation for this property.

Copyright © 2003 Apache Software Foundation.