Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.ddf
Class EscherArrayProperty

    java.lang.Object
      org.apache.poi.ddf.EscherProperty
          org.apache.poi.ddf.EscherComplexProperty
              org.apache.poi.ddf.EscherArrayProperty

All Implemented Interfaces:
  java.lang.Iterable<byte[]>

    public final class EscherArrayProperty

extends EscherComplexProperty
implements java.lang.Iterable<byte[]>

Escher array properties are the most weird construction ever invented with all sorts of special cases. I'm hopeful I've got them all.

Constructor Summary
`EscherArrayProperty(short propertyNumber, boolean isBlipId, byte[] complexData)`
`EscherArrayProperty(short id, byte[] complexData)`

Method Summary
`byte[]` | `getElement(int index)`
`int` | `getNumberOfElementsInArray()`
`int` | `getNumberOfElementsInMemory()`
`short` | `getSizeOfElements()`
`java.util.Iterator<byte[]>` | `iterator()`
`int` | `serializeSimplePart(byte[] data, int pos)` Serializes the simple part of this property.
`int` | `setArrayData(byte[] data, int offset)` We have this method because the way in which arrays in escher works is screwed for seemly arbitrary reasons.
`void` | `setElement(int index, byte[] element)`
`void` | `setNumberOfElementsInArray(int numberOfElements)`
`void` | `setNumberOfElementsInMemory(int numberOfElements)`
`void` | `setSizeOfElements(int sizeOfElements)`
`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.EscherComplexProperty
`equals, getComplexData, getPropertySize, hashCode, serializeComplexPart, setComplexData`

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

### EscherArrayProperty

    public EscherArrayProperty(short id,
                               byte[] complexData)

### EscherArrayProperty

    public EscherArrayProperty(short propertyNumber,
                               boolean isBlipId,
                               byte[] complexData)

Method Detail

### getNumberOfElementsInArray

    public int getNumberOfElementsInArray()

### setNumberOfElementsInArray

    public void setNumberOfElementsInArray(int numberOfElements)

### getNumberOfElementsInMemory

    public int getNumberOfElementsInMemory()

### setNumberOfElementsInMemory

    public void setNumberOfElementsInMemory(int numberOfElements)

### getSizeOfElements

    public short getSizeOfElements()

### setSizeOfElements

    public void setSizeOfElements(int sizeOfElements)

### getElement

    public byte[] getElement(int index)

### setElement

    public void setElement(int index,
                           byte[] element)

### toString

    public java.lang.String toString()

  Description copied from class: `EscherComplexProperty`
  Retrieves the string representation for this property.

  Overrides:
    `toString` in class `EscherComplexProperty`

### toXml

    public java.lang.String toXml(java.lang.String tab)

  Overrides:
    `toXml` in class `EscherComplexProperty`

### setArrayData

    public int setArrayData(byte[] data,
                            int offset)

  We have this method because the way in which arrays in escher works is screwed for seemly arbitrary reasons. While most properties are fairly consistent and have a predictable array size, escher arrays have special cases.

  Parameters:
    `data` - The data array containing the escher array information
    `offset` - The offset into the array to start reading from.
  Returns:
    the number of bytes used by this complex property.

### serializeSimplePart

    public int serializeSimplePart(byte[] data,
                                   int pos)

  Serializes the simple part of this property. ie the first 6 bytes. Needs special code to handle the case when the size doesn't include the size of the header block

  Overrides:
    `serializeSimplePart` in class `EscherComplexProperty`
  Parameters:
    `data` - the buffer to write to
    `pos` - the starting position
  Returns:
    the length of the part

### iterator

    public java.util.Iterator<byte[]> iterator()

  Specified by:
    `iterator` in interface `java.lang.Iterable<byte[]>`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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