org.apache.poi.hslf.record
Class PositionDependentRecordContainer

java.lang.Object
  extended by org.apache.poi.hslf.record.Record
      extended by org.apache.poi.hslf.record.RecordContainer
          extended by org.apache.poi.hslf.record.PositionDependentRecordContainer
All Implemented Interfaces:
PositionDependentRecord
Direct Known Subclasses:
Document, DummyPositionSensitiveRecordWithChildren, Environment, SheetContainer

public abstract class PositionDependentRecordContainer
extends RecordContainer
implements PositionDependentRecord

A special (and dangerous) kind of Record Container, for which other Atoms care about where this one lives on disk. Will track its position on disk.

Author:
Nick Burch

Field Summary
protected  int myLastOnDiskOffset
          Our location on the disk, as of the last write out
 
Fields inherited from class org.apache.poi.hslf.record.RecordContainer
_children
 
Fields inherited from class org.apache.poi.hslf.record.Record
logger
 
Constructor Summary
PositionDependentRecordContainer()
           
 
Method Summary
 int getLastOnDiskOffset()
          Fetch our location on the disk, as of the last write out
 int getSheetId()
          Fetch our sheet ID, as found from a PersistPtrHolder.
 void setLastOnDiskOffset(int offset)
          Update the Record's idea of where on disk it lives, after a write out.
 void setSheetId(int id)
          Set our sheet ID, as found from a PersistPtrHolder
 void updateOtherRecordReferences(java.util.Hashtable<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)
          Since we're a container, we don't mind if other records move about.
 
Methods inherited from class org.apache.poi.hslf.record.RecordContainer
addChildAfter, addChildBefore, appendChildRecord, findFirstOfType, getChildRecords, handleParentAwareRecords, isAnAtom, moveChildBefore, moveChildrenAfter, moveChildrenBefore, removeChild, setChildRecord, writeOut
 
Methods inherited from class org.apache.poi.hslf.record.Record
buildRecordAtOffset, createRecordForType, findChildRecords, getRecordType, writeLittleEndian, writeLittleEndian, writeOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myLastOnDiskOffset

protected int myLastOnDiskOffset
Our location on the disk, as of the last write out

Constructor Detail

PositionDependentRecordContainer

public PositionDependentRecordContainer()
Method Detail

getSheetId

public int getSheetId()
Fetch our sheet ID, as found from a PersistPtrHolder. Should match the RefId of our matching SlidePersistAtom


setSheetId

public void setSheetId(int id)
Set our sheet ID, as found from a PersistPtrHolder


getLastOnDiskOffset

public int getLastOnDiskOffset()
Fetch our location on the disk, as of the last write out

Specified by:
getLastOnDiskOffset in interface PositionDependentRecord

setLastOnDiskOffset

public void setLastOnDiskOffset(int offset)
Update the Record's idea of where on disk it lives, after a write out. Use with care...

Specified by:
setLastOnDiskOffset in interface PositionDependentRecord

updateOtherRecordReferences

public void updateOtherRecordReferences(java.util.Hashtable<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)
Since we're a container, we don't mind if other records move about. If we're told they have, just return straight off.

Specified by:
updateOtherRecordReferences in interface PositionDependentRecord


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