Package org.apache.poi.hslf.record
Class RecordContainer
- java.lang.Object
-
- org.apache.poi.hslf.record.Record
-
- org.apache.poi.hslf.record.RecordContainer
-
- All Implemented Interfaces:
GenericRecord
- Direct Known Subclasses:
AnimationInfo
,Comment2000
,DocInfoListContainer
,DummyRecordWithChildren
,EscherTextboxWrapper
,ExEmbed
,ExHyperlink
,ExMCIMovie
,ExObjList
,ExVideoContainer
,FontCollection
,HeadersFootersContainer
,InteractiveInfo
,PositionDependentRecordContainer
,SlideListWithText
,Sound
,SoundCollection
,VBAInfoContainer
public abstract class RecordContainer extends Record
Abstract class which all container records will extend. Providers helpful methods for writing child records out to disk
-
-
Constructor Summary
Constructors Constructor Description RecordContainer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
addChildAfter(Record newChild, Record after)
Adds the given Child Record after the supplied recordint
addChildBefore(Record newChild, Record before)
Adds the given Child Record before the supplied recordint
appendChildRecord(Record newChild)
Add a new child record onto a record's list of children.Record
findFirstOfType(long type)
Finds the first child record of the given type, or null if none of the child records are of the given type.Record[]
getChildRecords()
Return any childrenjava.util.Map<java.lang.String,java.util.function.Supplier<?>>
getGenericProperties()
static void
handleParentAwareRecords(RecordContainer br)
Find the records that are parent-aware, and tell them who their parent isboolean
isAnAtom()
We're not an atomRecord
removeChild(Record ch)
Remove a child record from this record containervoid
setChildRecord(Record[] records)
Set child records.void
writeOut(byte headerA, byte headerB, long type, Record[] children, java.io.OutputStream out)
Write out our header, and our children.-
Methods inherited from class org.apache.poi.hslf.record.Record
buildRecordAtOffset, createRecordForType, findChildRecords, getGenericChildren, getGenericRecordType, getRecordType, writeLittleEndian, writeLittleEndian, writeOut
-
-
-
-
Method Detail
-
getChildRecords
public Record[] getChildRecords()
Return any children- Specified by:
getChildRecords
in classRecord
-
findFirstOfType
public Record findFirstOfType(long type)
Finds the first child record of the given type, or null if none of the child records are of the given type. Does not descend.
-
removeChild
public Record removeChild(Record ch)
Remove a child record from this record container- Parameters:
ch
- the child to remove- Returns:
- the removed record
-
appendChildRecord
public int appendChildRecord(Record newChild)
Add a new child record onto a record's list of children.- Parameters:
newChild
- the child record to be added- Returns:
- the position of the added child within the list, i.e. the last index
-
addChildAfter
public int addChildAfter(Record newChild, Record after)
Adds the given Child Record after the supplied record- Parameters:
newChild
- The record to add as new child.after
- The record after which the given record should be added.- Returns:
- the position of the added child within the list
-
addChildBefore
public int addChildBefore(Record newChild, Record before)
Adds the given Child Record before the supplied record- Parameters:
newChild
- The record to add as new child.before
- The record before which the given record should be added.- Returns:
- the position of the added child within the list
-
setChildRecord
public void setChildRecord(Record[] records)
Set child records.- Parameters:
records
- the new child records
-
writeOut
public void writeOut(byte headerA, byte headerB, long type, Record[] children, java.io.OutputStream out) throws java.io.IOException
Write out our header, and our children.- Parameters:
headerA
- the first byte of the headerheaderB
- the second byte of the headertype
- the record typechildren
- our child recordsout
- the stream to write to- Throws:
java.io.IOException
-
handleParentAwareRecords
public static void handleParentAwareRecords(RecordContainer br)
Find the records that are parent-aware, and tell them who their parent is
-
getGenericProperties
public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
-
-