## 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

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.