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.hslf.record
Class PersistPtrHolder

    java.lang.Object
      org.apache.poi.hslf.record.Record
          org.apache.poi.hslf.record.RecordAtom
              org.apache.poi.hslf.record.PositionDependentRecordAtom
                  org.apache.poi.hslf.record.PersistPtrHolder

All Implemented Interfaces:
  PositionDependentRecord

    public final class PersistPtrHolder

extends PositionDependentRecordAtom

General holder for PersistPtrFullBlock and PersistPtrIncrementalBlock records. We need to handle them specially, since we have to go around updating UserEditAtoms if they shuffle about on disk These hold references to where slides "live". If the position of a slide moves, then we have update all of these. If we come up with a new version of a slide, then we have to add one of these to the end of the chain (via CurrentUserAtom and UserEditAtom) pointing to the new slide location

Author:
  Nick Burch

Field Summary

Fields inherited from class org.apache.poi.hslf.record.Record
`logger`

Constructor Summary
`protected` | `PersistPtrHolder(byte[] source, int start, int len)` Create a new holder for a PersistPtr record

Method Summary
`void` | `addSlideLookup(int slideID, int posOnDisk)` Adds a new slide, notes or similar, to be looked up by this.
`void` | `clear()` remove all slide references Convenience method provided, for easier reviewing of invocations
`int[]` | `getKnownSlideIDs()` Get the list of slides that this PersistPtrHolder knows about.
`long` | `getRecordType()` Return the value we were given at creation, be it 6001 or 6002
`java.util.Map<java.lang.Integer,java.lang.Integer>` | `getSlideLocationsLookup()` Get the lookup from slide numbers to byte offsets, for the slides known about by this PersistPtrHolder.
`void` | `updateOtherRecordReferences(java.util.Map<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)` At write-out time, update the references to the sheets to their new positions
`void` | `writeOut(java.io.OutputStream out)` Write the contents of the record back, so it can be written to disk

Methods inherited from class org.apache.poi.hslf.record.PositionDependentRecordAtom
`getLastOnDiskOffset, setLastOnDiskOffset`

Methods inherited from class org.apache.poi.hslf.record.RecordAtom
`getChildRecords, isAnAtom`

Methods inherited from class org.apache.poi.hslf.record.Record
`buildRecordAtOffset, createRecordForType, findChildRecords, writeLittleEndian, writeLittleEndian`

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

Constructor Detail

### PersistPtrHolder

    protected PersistPtrHolder(byte[] source,
                               int start,
                               int len)

  Create a new holder for a PersistPtr record

Method Detail

### getRecordType

    public long getRecordType()

  Return the value we were given at creation, be it 6001 or 6002

  Specified by:
    `getRecordType` in class `Record`

### getKnownSlideIDs

    public int[] getKnownSlideIDs()

  Get the list of slides that this PersistPtrHolder knows about. (They will be the keys in the map for looking up the positions of these slides)

### getSlideLocationsLookup

    public java.util.Map<java.lang.Integer,java.lang.Integer> getSlideLocationsLookup()

  Get the lookup from slide numbers to byte offsets, for the slides known about by this PersistPtrHolder.

### clear

    public void clear()

  remove all slide references Convenience method provided, for easier reviewing of invocations

### addSlideLookup

    public void addSlideLookup(int slideID,
                               int posOnDisk)

  Adds a new slide, notes or similar, to be looked up by this.

### updateOtherRecordReferences

    public void updateOtherRecordReferences(java.util.Map<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)

  At write-out time, update the references to the sheets to their new positions

  Specified by:
    `updateOtherRecordReferences` in interface `PositionDependentRecord`
  Specified by:
    `updateOtherRecordReferences` in class `PositionDependentRecordAtom`

### writeOut

    public void writeOut(java.io.OutputStream out)
                  throws java.io.IOException

  Write the contents of the record back, so it can be written to disk

  Specified by:
    `writeOut` in class `Record`
  Throws:
    `java.io.IOException`

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.