org.apache.poi.hslf.record
Class PositionDependentRecordAtom

java.lang.Object
  extended by org.apache.poi.hslf.record.Record
      extended by org.apache.poi.hslf.record.RecordAtom
          extended by org.apache.poi.hslf.record.PositionDependentRecordAtom
All Implemented Interfaces:
PositionDependentRecord
Direct Known Subclasses:
PersistPtrHolder, UserEditAtom

public abstract class PositionDependentRecordAtom
extends RecordAtom
implements PositionDependentRecord

A special (and dangerous) kind of Record Atom that cares about where it lives on the disk, or who has other Atoms that care about where this is on the 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.Record
logger
 
Constructor Summary
PositionDependentRecordAtom()
           
 
Method Summary
 int getLastOnDiskOffset()
          Fetch our location on the disk, as of the last write out
 void setLastOnDiskOffset(int offset)
          Update the Record's idea of where on disk it lives, after a write out.
abstract  void updateOtherRecordReferences(java.util.Hashtable<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)
          Offer the record the list of records that have changed their location as part of the writeout.
 
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, 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

PositionDependentRecordAtom

public PositionDependentRecordAtom()
Method Detail

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 abstract void updateOtherRecordReferences(java.util.Hashtable<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)
Offer the record the list of records that have changed their location as part of the writeout. Allows records to update their internal pointers to other records locations

Specified by:
updateOtherRecordReferences in interface PositionDependentRecord


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