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.hssf.record
Class AbstractEscherHolderRecord

    java.lang.Object
      org.apache.poi.hssf.record.RecordBase
          org.apache.poi.hssf.record.Record
              org.apache.poi.hssf.record.AbstractEscherHolderRecord

All Implemented Interfaces:
  java.lang.Cloneable

Direct Known Subclasses:
  DrawingGroupRecord, DrawingRecordForBiffViewer, EscherAggregate

    public abstract class AbstractEscherHolderRecord

extends Record
implements java.lang.Cloneable

The escher container record is used to hold escher records. It is abstract and must be subclassed for maximum benefit.

Constructor Summary
`AbstractEscherHolderRecord()`
`AbstractEscherHolderRecord(RecordInputStream in)`

Method Summary
`boolean` | `addEscherRecord(EscherRecord element)`
`void` | `addEscherRecord(int index, EscherRecord element)`
`void` | `clearEscherRecords()`
`AbstractEscherHolderRecord` | `clone()`
`protected void` | `convertRawBytesToEscherRecords()`
`void` | `decode()` Convert raw data to escher records.
`EscherRecord` | `findFirstWithId(short id)` Descends into all our children, returning the first EscherRecord with the given id, or null if none found
`EscherContainerRecord` | `getEscherContainer()` If we have a EscherContainerRecord as one of our children (and most top level escher holders do), then return that.
`EscherRecord` | `getEscherRecord(int index)`
`java.util.List<EscherRecord>` | `getEscherRecords()`
`byte[]` | `getRawData()`
`protected abstract java.lang.String` | `getRecordName()`
`int` | `getRecordSize()` gives the current serialized size of the record.
`abstract short` | `getSid()` return the non static version of the id for this record.
`void` | `join(AbstractEscherHolderRecord record)` Big drawing group records are split but it's easier to deal with them as a whole group so we need to join them together.
`void` | `processContinueRecord(byte[] record)`
`int` | `serialize(int offset, byte[] data)` called by the class that is responsible for writing this sucker.
`void` | `setRawData(byte[] rawData)`
`java.lang.String` | `toString()` get a string representation of the record (for biffview/debugging)

Methods inherited from class org.apache.poi.hssf.record.Record
`cloneViaReserialise, serialize`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AbstractEscherHolderRecord

    public AbstractEscherHolderRecord()

### AbstractEscherHolderRecord

    public AbstractEscherHolderRecord(RecordInputStream in)

Method Detail

### convertRawBytesToEscherRecords

    protected void convertRawBytesToEscherRecords()

### toString

    public java.lang.String toString()

  Description copied from class: `Record`
  get a string representation of the record (for biffview/debugging)

  Overrides:
    `toString` in class `Record`

### getRecordName

    protected abstract java.lang.String getRecordName()

### serialize

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

  Description copied from class: `RecordBase`
  called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.

  Specified by:
    `serialize` in class `RecordBase`
  Parameters:
    `offset` - to begin writing at
    `data` - byte array containing instance data
  Returns:
    number of bytes written

### getRecordSize

    public int getRecordSize()

  Description copied from class: `RecordBase`
  gives the current serialized size of the record. Should include the sid and reclength (4 bytes).

  Specified by:
    `getRecordSize` in class `RecordBase`
  Returns:
    the record size

### getSid

    public abstract short getSid()

  Description copied from class: `Record`
  return the non static version of the id for this record.

  Specified by:
    `getSid` in class `Record`
  Returns:
    he id for this record

### clone

    public AbstractEscherHolderRecord clone()

  Overrides:
    `clone` in class `Record`

### addEscherRecord

    public void addEscherRecord(int index,
                                EscherRecord element)

### addEscherRecord

    public boolean addEscherRecord(EscherRecord element)

### getEscherRecords

    public java.util.List<EscherRecord> getEscherRecords()

### clearEscherRecords

    public void clearEscherRecords()

### getEscherContainer

    public EscherContainerRecord getEscherContainer()

  If we have a EscherContainerRecord as one of our children (and most top level escher holders do), then return that.

  Returns:
    the EscherContainerRecord or `null` if no child is a container record

### findFirstWithId

    public EscherRecord findFirstWithId(short id)

  Descends into all our children, returning the first EscherRecord with the given id, or null if none found

  Parameters:
    `id` - the record to look for
  Returns:
    the record or `null` if it can't be found

### getEscherRecord

    public EscherRecord getEscherRecord(int index)

### join

    public void join(AbstractEscherHolderRecord record)

  Big drawing group records are split but it's easier to deal with them as a whole group so we need to join them together.

  Parameters:
    `record` - the record data to concatenate to the end

### processContinueRecord

    public void processContinueRecord(byte[] record)

### getRawData

    public byte[] getRawData()

### setRawData

    public void setRawData(byte[] rawData)

### decode

    public void decode()

  Convert raw data to escher records.

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.