org.apache.poi.hslf.record
Class RecordContainer

java.lang.Object
  extended by org.apache.poi.hslf.record.Record
      extended by org.apache.poi.hslf.record.RecordContainer
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


Field Summary
protected  Record[] _children
           
 
Fields inherited from class org.apache.poi.hslf.record.Record
logger
 
Constructor Summary
RecordContainer()
           
 
Method Summary
 int addChildAfter(Record newChild, Record after)
          Adds the given Child Record after the supplied record
 int addChildBefore(Record newChild, Record before)
          Adds the given Child Record before the supplied record
 int 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 children
static void handleParentAwareRecords(RecordContainer br)
          Find the records that are parent-aware, and tell them who their parent is
 boolean isAnAtom()
          We're not an atom
 void moveChildBefore(Record child, Record before)
          Deprecated. method is not used within POI and will be removed
 void moveChildrenAfter(Record firstChild, int number, Record after)
          Deprecated. method is not used within POI and will be removed
 void moveChildrenBefore(Record firstChild, int number, Record before)
          Deprecated. method is not used within POI and will be removed
 Record removeChild(Record ch)
          Remove a child record from this record container
 void 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, getRecordType, writeLittleEndian, writeLittleEndian, writeOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_children

protected Record[] _children
Constructor Detail

RecordContainer

public RecordContainer()
Method Detail

getChildRecords

public Record[] getChildRecords()
Return any children

Specified by:
getChildRecords in class Record

isAnAtom

public boolean isAnAtom()
We're not an atom

Specified by:
isAnAtom in class Record

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 -
after -
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 -
before -
Returns:
the position of the added child within the list

moveChildBefore

@Removal(version="3.19")
@Deprecated
public void moveChildBefore(Record child,
                                                      Record before)
Deprecated. method is not used within POI and will be removed

Moves the given Child Record to before the supplied record


moveChildrenBefore

@Removal(version="3.19")
@Deprecated
public void moveChildrenBefore(Record firstChild,
                                                         int number,
                                                         Record before)
Deprecated. method is not used within POI and will be removed

Moves the given Child Records to before the supplied record


moveChildrenAfter

@Removal(version="3.19")
@Deprecated
public void moveChildrenAfter(Record firstChild,
                                                        int number,
                                                        Record after)
Deprecated. method is not used within POI and will be removed

Moves the given Child Records to after the supplied record

Parameters:
firstChild - the first child to be moved
number - the number of records to move
after - the record after that the children are moved

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 header
headerB - the second byte of the header
type - the record type
children - our child records
out - 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



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