org.apache.poi.hssf.record

## Class EscherAggregate

- java.lang.Object
- - org.apache.poi.hssf.record.RecordBase
  - - org.apache.poi.hssf.record.Record
    - - org.apache.poi.hssf.record.AbstractEscherHolderRecord
      - - org.apache.poi.hssf.record.EscherAggregate

- All Implemented Interfaces:
    Duplicatable

      public final class EscherAggregate
      extends AbstractEscherHolderRecord

  This class is used to aggregate the MSODRAWING and OBJ record combinations. This is necessary due to the bizare way in which these records are serialized. What happens is that you get a combination of MSODRAWING -> OBJ -> MSODRAWING -> OBJ records but the escher records are serialized _across_ the MSODRAWING records.

  It gets even worse when you start looking at TXO records.

  So what we do with this class is aggregate lazily. That is we don't aggregate the MSODRAWING -> OBJ records unless we need to modify them.

  At first document contains 4 types of records which belong to drawing layer. There are can be such sequence of record:

  DrawingRecord ContinueRecord ... ContinueRecord ObjRecord | TextObjectRecord ..... ContinueRecord ... ContinueRecord ObjRecord | TextObjectRecord NoteRecord ... NoteRecord

  To work with shapes we have to read data from Drawing and Continue records into single array of bytes and build escher(office art) records tree from this array. Each shape in drawing layer matches corresponding ObjRecord Each textbox matches corresponding TextObjectRecord

  ObjRecord contains information about shape. Thus each ObjRecord corresponds EscherContainerRecord(SPGR)

  EscherAggrefate contains also NoteRecords NoteRecords must be serial

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `sid`
    `static short` | `ST_ACCENTBORDERCALLOUT1`
    `static short` | `ST_ACCENTBORDERCALLOUT2`
    `static short` | `ST_ACCENTBORDERCALLOUT3`
    `static short` | `ST_ACCENTBORDERCALLOUT90`
    `static short` | `ST_ACCENTCALLOUT1`
    `static short` | `ST_ACCENTCALLOUT2`
    `static short` | `ST_ACCENTCALLOUT3`
    `static short` | `ST_ACCENTCALLOUT90`
    `static short` | `ST_ACTIONBUTTONBACKPREVIOUS`
    `static short` | `ST_ACTIONBUTTONBEGINNING`
    `static short` | `ST_ACTIONBUTTONBLANK`
    `static short` | `ST_ACTIONBUTTONDOCUMENT`
    `static short` | `ST_ACTIONBUTTONEND`
    `static short` | `ST_ACTIONBUTTONFORWARDNEXT`
    `static short` | `ST_ACTIONBUTTONHELP`
    `static short` | `ST_ACTIONBUTTONHOME`
    `static short` | `ST_ACTIONBUTTONINFORMATION`
    `static short` | `ST_ACTIONBUTTONMOVIE`
    `static short` | `ST_ACTIONBUTTONRETURN`
    `static short` | `ST_ACTIONBUTTONSOUND`
    `static short` | `ST_ARC`
    `static short` | `ST_ARROW`
    `static short` | `ST_BALLOON`
    `static short` | `ST_BENTARROW`
    `static short` | `ST_BENTCONNECTOR2`
    `static short` | `ST_BENTCONNECTOR3`
    `static short` | `ST_BENTCONNECTOR4`
    `static short` | `ST_BENTCONNECTOR5`
    `static short` | `ST_BENTUPARROW`
    `static short` | `ST_BEVEL`
    `static short` | `ST_BLOCKARC`
    `static short` | `ST_BORDERCALLOUT1`
    `static short` | `ST_BORDERCALLOUT2`
    `static short` | `ST_BORDERCALLOUT3`
    `static short` | `ST_BORDERCALLOUT90`
    `static short` | `ST_BRACEPAIR`
    `static short` | `ST_BRACKETPAIR`
    `static short` | `ST_CALLOUT1`
    `static short` | `ST_CALLOUT2`
    `static short` | `ST_CALLOUT3`
    `static short` | `ST_CALLOUT90`
    `static short` | `ST_CAN`
    `static short` | `ST_CHEVRON`
    `static short` | `ST_CIRCULARARROW`
    `static short` | `ST_CLOUDCALLOUT`
    `static short` | `ST_CUBE`
    `static short` | `ST_CURVEDCONNECTOR2`
    `static short` | `ST_CURVEDCONNECTOR3`
    `static short` | `ST_CURVEDCONNECTOR4`
    `static short` | `ST_CURVEDCONNECTOR5`
    `static short` | `ST_CURVEDDOWNARROW`
    `static short` | `ST_CURVEDLEFTARROW`
    `static short` | `ST_CURVEDRIGHTARROW`
    `static short` | `ST_CURVEDUPARROW`
    `static short` | `ST_DIAMOND`
    `static short` | `ST_DONUT`
    `static short` | `ST_DOUBLEWAVE`
    `static short` | `ST_DOWNARROW`
    `static short` | `ST_DOWNARROWCALLOUT`
    `static short` | `ST_ELLIPSE`
    `static short` | `ST_ELLIPSERIBBON`
    `static short` | `ST_ELLIPSERIBBON2`
    `static short` | `ST_FLOWCHARTALTERNATEPROCESS`
    `static short` | `ST_FLOWCHARTCOLLATE`
    `static short` | `ST_FLOWCHARTCONNECTOR`
    `static short` | `ST_FLOWCHARTDECISION`
    `static short` | `ST_FLOWCHARTDELAY`
    `static short` | `ST_FLOWCHARTDISPLAY`
    `static short` | `ST_FLOWCHARTDOCUMENT`
    `static short` | `ST_FLOWCHARTEXTRACT`
    `static short` | `ST_FLOWCHARTINPUTOUTPUT`
    `static short` | `ST_FLOWCHARTINTERNALSTORAGE`
    `static short` | `ST_FLOWCHARTMAGNETICDISK`
    `static short` | `ST_FLOWCHARTMAGNETICDRUM`
    `static short` | `ST_FLOWCHARTMAGNETICTAPE`
    `static short` | `ST_FLOWCHARTMANUALINPUT`
    `static short` | `ST_FLOWCHARTMANUALOPERATION`
    `static short` | `ST_FLOWCHARTMERGE`
    `static short` | `ST_FLOWCHARTMULTIDOCUMENT`
    `static short` | `ST_FLOWCHARTOFFLINESTORAGE`
    `static short` | `ST_FLOWCHARTOFFPAGECONNECTOR`
    `static short` | `ST_FLOWCHARTONLINESTORAGE`
    `static short` | `ST_FLOWCHARTOR`
    `static short` | `ST_FLOWCHARTPREDEFINEDPROCESS`
    `static short` | `ST_FLOWCHARTPREPARATION`
    `static short` | `ST_FLOWCHARTPROCESS`
    `static short` | `ST_FLOWCHARTPUNCHEDCARD`
    `static short` | `ST_FLOWCHARTPUNCHEDTAPE`
    `static short` | `ST_FLOWCHARTSORT`
    `static short` | `ST_FLOWCHARTSUMMINGJUNCTION`
    `static short` | `ST_FLOWCHARTTERMINATOR`
    `static short` | `ST_FOLDEDCORNER`
    `static short` | `ST_HEART`
    `static short` | `ST_HEXAGON`
    `static short` | `ST_HOMEPLATE`
    `static short` | `ST_HORIZONTALSCROLL`
    `static short` | `ST_HOSTCONTROL`
    `static short` | `ST_IRREGULARSEAL1`
    `static short` | `ST_IRREGULARSEAL2`
    `static short` | `ST_ISOCELESTRIANGLE`
    `static short` | `ST_LEFTARROW`
    `static short` | `ST_LEFTARROWCALLOUT`
    `static short` | `ST_LEFTBRACE`
    `static short` | `ST_LEFTBRACKET`
    `static short` | `ST_LEFTRIGHTARROW`
    `static short` | `ST_LEFTRIGHTARROWCALLOUT`
    `static short` | `ST_LEFTRIGHTUPARROW`
    `static short` | `ST_LEFTUPARROW`
    `static short` | `ST_LIGHTNINGBOLT`
    `static short` | `ST_LINE`
    `static short` | `ST_MIN`
    `static short` | `ST_MOON`
    `static short` | `ST_NIL`
    `static short` | `ST_NOSMOKING`
    `static short` | `ST_NOT_PRIMATIVE`
    `static short` | `ST_NOTCHEDCIRCULARARROW`
    `static short` | `ST_NOTCHEDRIGHTARROW`
    `static short` | `ST_OCTAGON`
    `static short` | `ST_PARALLELOGRAM`
    `static short` | `ST_PENTAGON`
    `static short` | `ST_PICTUREFRAME`
    `static short` | `ST_PLAQUE`
    `static short` | `ST_PLUS`
    `static short` | `ST_QUADARROW`
    `static short` | `ST_QUADARROWCALLOUT`
    `static short` | `ST_RECTANGLE`
    `static short` | `ST_RIBBON`
    `static short` | `ST_RIBBON2`
    `static short` | `ST_RIGHTARROWCALLOUT`
    `static short` | `ST_RIGHTBRACE`
    `static short` | `ST_RIGHTBRACKET`
    `static short` | `ST_RIGHTTRIANGLE`
    `static short` | `ST_ROUNDRECTANGLE`
    `static short` | `ST_SEAL`
    `static short` | `ST_SEAL16`
    `static short` | `ST_SEAL24`
    `static short` | `ST_SEAL32`
    `static short` | `ST_SEAL4`
    `static short` | `ST_SEAL8`
    `static short` | `ST_SMILEYFACE`
    `static short` | `ST_STAR`
    `static short` | `ST_STRAIGHTCONNECTOR1`
    `static short` | `ST_STRIPEDRIGHTARROW`
    `static short` | `ST_SUN`
    `static short` | `ST_TEXTARCHDOWNCURVE`
    `static short` | `ST_TEXTARCHDOWNPOUR`
    `static short` | `ST_TEXTARCHUPCURVE`
    `static short` | `ST_TEXTARCHUPPOUR`
    `static short` | `ST_TEXTBOX`
    `static short` | `ST_TEXTBUTTONCURVE`
    `static short` | `ST_TEXTBUTTONPOUR`
    `static short` | `ST_TEXTCANDOWN`
    `static short` | `ST_TEXTCANUP`
    `static short` | `ST_TEXTCASCADEDOWN`
    `static short` | `ST_TEXTCASCADEUP`
    `static short` | `ST_TEXTCHEVRON`
    `static short` | `ST_TEXTCHEVRONINVERTED`
    `static short` | `ST_TEXTCIRCLECURVE`
    `static short` | `ST_TEXTCIRCLEPOUR`
    `static short` | `ST_TEXTCURVE`
    `static short` | `ST_TEXTCURVEDOWN`
    `static short` | `ST_TEXTCURVEUP`
    `static short` | `ST_TEXTDEFLATE`
    `static short` | `ST_TEXTDEFLATEBOTTOM`
    `static short` | `ST_TEXTDEFLATEINFLATE`
    `static short` | `ST_TEXTDEFLATEINFLATEDEFLATE`
    `static short` | `ST_TEXTDEFLATETOP`
    `static short` | `ST_TEXTFADEDOWN`
    `static short` | `ST_TEXTFADELEFT`
    `static short` | `ST_TEXTFADERIGHT`
    `static short` | `ST_TEXTFADEUP`
    `static short` | `ST_TEXTHEXAGON`
    `static short` | `ST_TEXTINFLATE`
    `static short` | `ST_TEXTINFLATEBOTTOM`
    `static short` | `ST_TEXTINFLATETOP`
    `static short` | `ST_TEXTOCTAGON`
    `static short` | `ST_TEXTONCURVE`
    `static short` | `ST_TEXTONRING`
    `static short` | `ST_TEXTPLAINTEXT`
    `static short` | `ST_TEXTRING`
    `static short` | `ST_TEXTRINGINSIDE`
    `static short` | `ST_TEXTRINGOUTSIDE`
    `static short` | `ST_TEXTSIMPLE`
    `static short` | `ST_TEXTSLANTDOWN`
    `static short` | `ST_TEXTSLANTUP`
    `static short` | `ST_TEXTSTOP`
    `static short` | `ST_TEXTTRIANGLE`
    `static short` | `ST_TEXTTRIANGLEINVERTED`
    `static short` | `ST_TEXTWAVE`
    `static short` | `ST_TEXTWAVE1`
    `static short` | `ST_TEXTWAVE2`
    `static short` | `ST_TEXTWAVE3`
    `static short` | `ST_TEXTWAVE4`
    `static short` | `ST_THICKARROW`
    `static short` | `ST_TRAPEZOID`
    `static short` | `ST_UPARROW`
    `static short` | `ST_UPARROWCALLOUT`
    `static short` | `ST_UPDOWNARROW`
    `static short` | `ST_UPDOWNARROWCALLOUT`
    `static short` | `ST_UTURNARROW`
    `static short` | `ST_VERTICALSCROLL`
    `static short` | `ST_WAVE`
    `static short` | `ST_WEDGEELLIPSECALLOUT`
    `static short` | `ST_WEDGERECTCALLOUT`
    `static short` | `ST_WEDGERRECTCALLOUT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EscherAggregate(boolean createDefaultTree)` create new EscherAggregate
    `EscherAggregate(EscherAggregate other)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTailRecord(NoteRecord note)` Add tail record to existing map
    `void` | `associateShapeToObjRecord(EscherRecord r, Record objRecord)` Associates an escher record to an OBJ record or a TXO record.
    `EscherAggregate` | `copy()`
    `static EscherAggregate` | `createAggregate(java.util.List<RecordBase> records, int locFirstDrawingRecord)` Collapses the drawing records into an aggregate.
    `NoteRecord` | `getNoteRecordByObj(ObjRecord obj)`
    `protected java.lang.String` | `getRecordName()`
    `int` | `getRecordSize()` gives the current serialized size of the record.
    `java.util.Map<EscherRecord,Record>` | `getShapeToObjMapping()`
    `short` | `getSid()` return the non static version of the id for this record.
    `java.util.Map<java.lang.Integer,NoteRecord>` | `getTailRecords()`
    `void` | `removeShapeToObjRecord(EscherRecord rec)` Remove echerRecord and associated to it Obj or TextObj record
    `void` | `removeTailRecord(NoteRecord note)` Remove tail record from the existing map
    `int` | `serialize(int offset, byte[] data)` Serializes this aggregate to a byte array.
    `void` | `setDgId(short dgId)` EscherDgContainer -EscherSpgrContainer -EscherDgRecord - set id for this record set id for DgRecord of DgContainer
    `void` | `setMainSpRecordId(int shapeId)` EscherDgContainer -EscherSpgrContainer --EscherSpContainer ---EscherSpRecord -set id for this record ---*** --*** -EscherDgRecord set id for the sp record of the first spContainer in main spgrConatiner
    `java.lang.String` | `toString()` Calculates the string representation of this record.
    `java.lang.String` | `toXml(java.lang.String tab)` Calculates the xml representation of this record.

    - ### Methods inherited from class org.apache.poi.hssf.record.AbstractEscherHolderRecord

      `addEscherRecord, addEscherRecord, clearEscherRecords, clone, convertRawBytesToEscherRecords, decode, findFirstWithId, getEscherContainer, getEscherRecord, getEscherRecords, getRawData, join, processContinueRecord, setRawData`

    - ### Methods inherited from class org.apache.poi.hssf.record.Record

      `cloneViaReserialise, serialize`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### sid

          public static final short sid

      See Also:
        Constant Field Values

    - #### ST_MIN

          public static final short ST_MIN

      See Also:
        Constant Field Values

    - #### ST_NOT_PRIMATIVE

          public static final short ST_NOT_PRIMATIVE

      See Also:
        Constant Field Values

    - #### ST_RECTANGLE

          public static final short ST_RECTANGLE

      See Also:
        Constant Field Values

    - #### ST_ROUNDRECTANGLE

          public static final short ST_ROUNDRECTANGLE

      See Also:
        Constant Field Values

    - #### ST_ELLIPSE

          public static final short ST_ELLIPSE

      See Also:
        Constant Field Values

    - #### ST_DIAMOND

          public static final short ST_DIAMOND

      See Also:
        Constant Field Values

    - #### ST_ISOCELESTRIANGLE

          public static final short ST_ISOCELESTRIANGLE

      See Also:
        Constant Field Values

    - #### ST_RIGHTTRIANGLE

          public static final short ST_RIGHTTRIANGLE

      See Also:
        Constant Field Values

    - #### ST_PARALLELOGRAM

          public static final short ST_PARALLELOGRAM

      See Also:
        Constant Field Values

    - #### ST_TRAPEZOID

          public static final short ST_TRAPEZOID

      See Also:
        Constant Field Values

    - #### ST_HEXAGON

          public static final short ST_HEXAGON

      See Also:
        Constant Field Values

    - #### ST_OCTAGON

          public static final short ST_OCTAGON

      See Also:
        Constant Field Values

    - #### ST_PLUS

          public static final short ST_PLUS

      See Also:
        Constant Field Values

    - #### ST_STAR

          public static final short ST_STAR

      See Also:
        Constant Field Values

    - #### ST_ARROW

          public static final short ST_ARROW

      See Also:
        Constant Field Values

    - #### ST_THICKARROW

          public static final short ST_THICKARROW

      See Also:
        Constant Field Values

    - #### ST_HOMEPLATE

          public static final short ST_HOMEPLATE

      See Also:
        Constant Field Values

    - #### ST_CUBE

          public static final short ST_CUBE

      See Also:
        Constant Field Values

    - #### ST_BALLOON

          public static final short ST_BALLOON

      See Also:
        Constant Field Values

    - #### ST_SEAL

          public static final short ST_SEAL

      See Also:
        Constant Field Values

    - #### ST_ARC

          public static final short ST_ARC

      See Also:
        Constant Field Values

    - #### ST_LINE

          public static final short ST_LINE

      See Also:
        Constant Field Values

    - #### ST_PLAQUE

          public static final short ST_PLAQUE

      See Also:
        Constant Field Values

    - #### ST_CAN

          public static final short ST_CAN

      See Also:
        Constant Field Values

    - #### ST_DONUT

          public static final short ST_DONUT

      See Also:
        Constant Field Values

    - #### ST_TEXTSIMPLE

          public static final short ST_TEXTSIMPLE

      See Also:
        Constant Field Values

    - #### ST_TEXTOCTAGON

          public static final short ST_TEXTOCTAGON

      See Also:
        Constant Field Values

    - #### ST_TEXTHEXAGON

          public static final short ST_TEXTHEXAGON

      See Also:
        Constant Field Values

    - #### ST_TEXTCURVE

          public static final short ST_TEXTCURVE

      See Also:
        Constant Field Values

    - #### ST_TEXTWAVE

          public static final short ST_TEXTWAVE

      See Also:
        Constant Field Values

    - #### ST_TEXTRING

          public static final short ST_TEXTRING

      See Also:
        Constant Field Values

    - #### ST_TEXTONCURVE

          public static final short ST_TEXTONCURVE

      See Also:
        Constant Field Values

    - #### ST_TEXTONRING

          public static final short ST_TEXTONRING

      See Also:
        Constant Field Values

    - #### ST_STRAIGHTCONNECTOR1

          public static final short ST_STRAIGHTCONNECTOR1

      See Also:
        Constant Field Values

    - #### ST_BENTCONNECTOR2

          public static final short ST_BENTCONNECTOR2

      See Also:
        Constant Field Values

    - #### ST_BENTCONNECTOR3

          public static final short ST_BENTCONNECTOR3

      See Also:
        Constant Field Values

    - #### ST_BENTCONNECTOR4

          public static final short ST_BENTCONNECTOR4

      See Also:
        Constant Field Values

    - #### ST_BENTCONNECTOR5

          public static final short ST_BENTCONNECTOR5

      See Also:
        Constant Field Values

    - #### ST_CURVEDCONNECTOR2

          public static final short ST_CURVEDCONNECTOR2

      See Also:
        Constant Field Values

    - #### ST_CURVEDCONNECTOR3

          public static final short ST_CURVEDCONNECTOR3

      See Also:
        Constant Field Values

    - #### ST_CURVEDCONNECTOR4

          public static final short ST_CURVEDCONNECTOR4

      See Also:
        Constant Field Values

    - #### ST_CURVEDCONNECTOR5

          public static final short ST_CURVEDCONNECTOR5

      See Also:
        Constant Field Values

    - #### ST_CALLOUT1

          public static final short ST_CALLOUT1

      See Also:
        Constant Field Values

    - #### ST_CALLOUT2

          public static final short ST_CALLOUT2

      See Also:
        Constant Field Values

    - #### ST_CALLOUT3

          public static final short ST_CALLOUT3

      See Also:
        Constant Field Values

    - #### ST_ACCENTCALLOUT1

          public static final short ST_ACCENTCALLOUT1

      See Also:
        Constant Field Values

    - #### ST_ACCENTCALLOUT2

          public static final short ST_ACCENTCALLOUT2

      See Also:
        Constant Field Values

    - #### ST_ACCENTCALLOUT3

          public static final short ST_ACCENTCALLOUT3

      See Also:
        Constant Field Values

    - #### ST_BORDERCALLOUT1

          public static final short ST_BORDERCALLOUT1

      See Also:
        Constant Field Values

    - #### ST_BORDERCALLOUT2

          public static final short ST_BORDERCALLOUT2

      See Also:
        Constant Field Values

    - #### ST_BORDERCALLOUT3

          public static final short ST_BORDERCALLOUT3

      See Also:
        Constant Field Values

    - #### ST_ACCENTBORDERCALLOUT1

          public static final short ST_ACCENTBORDERCALLOUT1

      See Also:
        Constant Field Values

    - #### ST_ACCENTBORDERCALLOUT2

          public static final short ST_ACCENTBORDERCALLOUT2

      See Also:
        Constant Field Values

    - #### ST_ACCENTBORDERCALLOUT3

          public static final short ST_ACCENTBORDERCALLOUT3

      See Also:
        Constant Field Values

    - #### ST_RIBBON

          public static final short ST_RIBBON

      See Also:
        Constant Field Values

    - #### ST_RIBBON2

          public static final short ST_RIBBON2

      See Also:
        Constant Field Values

    - #### ST_CHEVRON

          public static final short ST_CHEVRON

      See Also:
        Constant Field Values

    - #### ST_PENTAGON

          public static final short ST_PENTAGON

      See Also:
        Constant Field Values

    - #### ST_NOSMOKING

          public static final short ST_NOSMOKING

      See Also:
        Constant Field Values

    - #### ST_SEAL8

          public static final short ST_SEAL8

      See Also:
        Constant Field Values

    - #### ST_SEAL16

          public static final short ST_SEAL16

      See Also:
        Constant Field Values

    - #### ST_SEAL32

          public static final short ST_SEAL32

      See Also:
        Constant Field Values

    - #### ST_WEDGERECTCALLOUT

          public static final short ST_WEDGERECTCALLOUT

      See Also:
        Constant Field Values

    - #### ST_WEDGERRECTCALLOUT

          public static final short ST_WEDGERRECTCALLOUT

      See Also:
        Constant Field Values

    - #### ST_WEDGEELLIPSECALLOUT

          public static final short ST_WEDGEELLIPSECALLOUT

      See Also:
        Constant Field Values

    - #### ST_WAVE

          public static final short ST_WAVE

      See Also:
        Constant Field Values

    - #### ST_FOLDEDCORNER

          public static final short ST_FOLDEDCORNER

      See Also:
        Constant Field Values

    - #### ST_LEFTARROW

          public static final short ST_LEFTARROW

      See Also:
        Constant Field Values

    - #### ST_DOWNARROW

          public static final short ST_DOWNARROW

      See Also:
        Constant Field Values

    - #### ST_UPARROW

          public static final short ST_UPARROW

      See Also:
        Constant Field Values

    - #### ST_LEFTRIGHTARROW

          public static final short ST_LEFTRIGHTARROW

      See Also:
        Constant Field Values

    - #### ST_UPDOWNARROW

          public static final short ST_UPDOWNARROW

      See Also:
        Constant Field Values

    - #### ST_IRREGULARSEAL1

          public static final short ST_IRREGULARSEAL1

      See Also:
        Constant Field Values

    - #### ST_IRREGULARSEAL2

          public static final short ST_IRREGULARSEAL2

      See Also:
        Constant Field Values

    - #### ST_LIGHTNINGBOLT

          public static final short ST_LIGHTNINGBOLT

      See Also:
        Constant Field Values

    - #### ST_HEART

          public static final short ST_HEART

      See Also:
        Constant Field Values

    - #### ST_PICTUREFRAME

          public static final short ST_PICTUREFRAME

      See Also:
        Constant Field Values

    - #### ST_QUADARROW

          public static final short ST_QUADARROW

      See Also:
        Constant Field Values

    - #### ST_LEFTARROWCALLOUT

          public static final short ST_LEFTARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_RIGHTARROWCALLOUT

          public static final short ST_RIGHTARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_UPARROWCALLOUT

          public static final short ST_UPARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_DOWNARROWCALLOUT

          public static final short ST_DOWNARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_LEFTRIGHTARROWCALLOUT

          public static final short ST_LEFTRIGHTARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_UPDOWNARROWCALLOUT

          public static final short ST_UPDOWNARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_QUADARROWCALLOUT

          public static final short ST_QUADARROWCALLOUT

      See Also:
        Constant Field Values

    - #### ST_BEVEL

          public static final short ST_BEVEL

      See Also:
        Constant Field Values

    - #### ST_LEFTBRACKET

          public static final short ST_LEFTBRACKET

      See Also:
        Constant Field Values

    - #### ST_RIGHTBRACKET

          public static final short ST_RIGHTBRACKET

      See Also:
        Constant Field Values

    - #### ST_LEFTBRACE

          public static final short ST_LEFTBRACE

      See Also:
        Constant Field Values

    - #### ST_RIGHTBRACE

          public static final short ST_RIGHTBRACE

      See Also:
        Constant Field Values

    - #### ST_LEFTUPARROW

          public static final short ST_LEFTUPARROW

      See Also:
        Constant Field Values

    - #### ST_BENTUPARROW

          public static final short ST_BENTUPARROW

      See Also:
        Constant Field Values

    - #### ST_BENTARROW

          public static final short ST_BENTARROW

      See Also:
        Constant Field Values

    - #### ST_SEAL24

          public static final short ST_SEAL24

      See Also:
        Constant Field Values

    - #### ST_STRIPEDRIGHTARROW

          public static final short ST_STRIPEDRIGHTARROW

      See Also:
        Constant Field Values

    - #### ST_NOTCHEDRIGHTARROW

          public static final short ST_NOTCHEDRIGHTARROW

      See Also:
        Constant Field Values

    - #### ST_BLOCKARC

          public static final short ST_BLOCKARC

      See Also:
        Constant Field Values

    - #### ST_SMILEYFACE

          public static final short ST_SMILEYFACE

      See Also:
        Constant Field Values

    - #### ST_VERTICALSCROLL

          public static final short ST_VERTICALSCROLL

      See Also:
        Constant Field Values

    - #### ST_HORIZONTALSCROLL

          public static final short ST_HORIZONTALSCROLL

      See Also:
        Constant Field Values

    - #### ST_CIRCULARARROW

          public static final short ST_CIRCULARARROW

      See Also:
        Constant Field Values

    - #### ST_NOTCHEDCIRCULARARROW

          public static final short ST_NOTCHEDCIRCULARARROW

      See Also:
        Constant Field Values

    - #### ST_UTURNARROW

          public static final short ST_UTURNARROW

      See Also:
        Constant Field Values

    - #### ST_CURVEDRIGHTARROW

          public static final short ST_CURVEDRIGHTARROW

      See Also:
        Constant Field Values

    - #### ST_CURVEDLEFTARROW

          public static final short ST_CURVEDLEFTARROW

      See Also:
        Constant Field Values

    - #### ST_CURVEDUPARROW

          public static final short ST_CURVEDUPARROW

      See Also:
        Constant Field Values

    - #### ST_CURVEDDOWNARROW

          public static final short ST_CURVEDDOWNARROW

      See Also:
        Constant Field Values

    - #### ST_CLOUDCALLOUT

          public static final short ST_CLOUDCALLOUT

      See Also:
        Constant Field Values

    - #### ST_ELLIPSERIBBON

          public static final short ST_ELLIPSERIBBON

      See Also:
        Constant Field Values

    - #### ST_ELLIPSERIBBON2

          public static final short ST_ELLIPSERIBBON2

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTPROCESS

          public static final short ST_FLOWCHARTPROCESS

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTDECISION

          public static final short ST_FLOWCHARTDECISION

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTINPUTOUTPUT

          public static final short ST_FLOWCHARTINPUTOUTPUT

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTPREDEFINEDPROCESS

          public static final short ST_FLOWCHARTPREDEFINEDPROCESS

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTINTERNALSTORAGE

          public static final short ST_FLOWCHARTINTERNALSTORAGE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTDOCUMENT

          public static final short ST_FLOWCHARTDOCUMENT

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMULTIDOCUMENT

          public static final short ST_FLOWCHARTMULTIDOCUMENT

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTTERMINATOR

          public static final short ST_FLOWCHARTTERMINATOR

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTPREPARATION

          public static final short ST_FLOWCHARTPREPARATION

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMANUALINPUT

          public static final short ST_FLOWCHARTMANUALINPUT

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMANUALOPERATION

          public static final short ST_FLOWCHARTMANUALOPERATION

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTCONNECTOR

          public static final short ST_FLOWCHARTCONNECTOR

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTPUNCHEDCARD

          public static final short ST_FLOWCHARTPUNCHEDCARD

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTPUNCHEDTAPE

          public static final short ST_FLOWCHARTPUNCHEDTAPE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTSUMMINGJUNCTION

          public static final short ST_FLOWCHARTSUMMINGJUNCTION

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTOR

          public static final short ST_FLOWCHARTOR

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTCOLLATE

          public static final short ST_FLOWCHARTCOLLATE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTSORT

          public static final short ST_FLOWCHARTSORT

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTEXTRACT

          public static final short ST_FLOWCHARTEXTRACT

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMERGE

          public static final short ST_FLOWCHARTMERGE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTOFFLINESTORAGE

          public static final short ST_FLOWCHARTOFFLINESTORAGE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTONLINESTORAGE

          public static final short ST_FLOWCHARTONLINESTORAGE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMAGNETICTAPE

          public static final short ST_FLOWCHARTMAGNETICTAPE

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMAGNETICDISK

          public static final short ST_FLOWCHARTMAGNETICDISK

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTMAGNETICDRUM

          public static final short ST_FLOWCHARTMAGNETICDRUM

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTDISPLAY

          public static final short ST_FLOWCHARTDISPLAY

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTDELAY

          public static final short ST_FLOWCHARTDELAY

      See Also:
        Constant Field Values

    - #### ST_TEXTPLAINTEXT

          public static final short ST_TEXTPLAINTEXT

      See Also:
        Constant Field Values

    - #### ST_TEXTSTOP

          public static final short ST_TEXTSTOP

      See Also:
        Constant Field Values

    - #### ST_TEXTTRIANGLE

          public static final short ST_TEXTTRIANGLE

      See Also:
        Constant Field Values

    - #### ST_TEXTTRIANGLEINVERTED

          public static final short ST_TEXTTRIANGLEINVERTED

      See Also:
        Constant Field Values

    - #### ST_TEXTCHEVRON

          public static final short ST_TEXTCHEVRON

      See Also:
        Constant Field Values

    - #### ST_TEXTCHEVRONINVERTED

          public static final short ST_TEXTCHEVRONINVERTED

      See Also:
        Constant Field Values

    - #### ST_TEXTRINGINSIDE

          public static final short ST_TEXTRINGINSIDE

      See Also:
        Constant Field Values

    - #### ST_TEXTRINGOUTSIDE

          public static final short ST_TEXTRINGOUTSIDE

      See Also:
        Constant Field Values

    - #### ST_TEXTARCHUPCURVE

          public static final short ST_TEXTARCHUPCURVE

      See Also:
        Constant Field Values

    - #### ST_TEXTARCHDOWNCURVE

          public static final short ST_TEXTARCHDOWNCURVE

      See Also:
        Constant Field Values

    - #### ST_TEXTCIRCLECURVE

          public static final short ST_TEXTCIRCLECURVE

      See Also:
        Constant Field Values

    - #### ST_TEXTBUTTONCURVE

          public static final short ST_TEXTBUTTONCURVE

      See Also:
        Constant Field Values

    - #### ST_TEXTARCHUPPOUR

          public static final short ST_TEXTARCHUPPOUR

      See Also:
        Constant Field Values

    - #### ST_TEXTARCHDOWNPOUR

          public static final short ST_TEXTARCHDOWNPOUR

      See Also:
        Constant Field Values

    - #### ST_TEXTCIRCLEPOUR

          public static final short ST_TEXTCIRCLEPOUR

      See Also:
        Constant Field Values

    - #### ST_TEXTBUTTONPOUR

          public static final short ST_TEXTBUTTONPOUR

      See Also:
        Constant Field Values

    - #### ST_TEXTCURVEUP

          public static final short ST_TEXTCURVEUP

      See Also:
        Constant Field Values

    - #### ST_TEXTCURVEDOWN

          public static final short ST_TEXTCURVEDOWN

      See Also:
        Constant Field Values

    - #### ST_TEXTCASCADEUP

          public static final short ST_TEXTCASCADEUP

      See Also:
        Constant Field Values

    - #### ST_TEXTCASCADEDOWN

          public static final short ST_TEXTCASCADEDOWN

      See Also:
        Constant Field Values

    - #### ST_TEXTWAVE1

          public static final short ST_TEXTWAVE1

      See Also:
        Constant Field Values

    - #### ST_TEXTWAVE2

          public static final short ST_TEXTWAVE2

      See Also:
        Constant Field Values

    - #### ST_TEXTWAVE3

          public static final short ST_TEXTWAVE3

      See Also:
        Constant Field Values

    - #### ST_TEXTWAVE4

          public static final short ST_TEXTWAVE4

      See Also:
        Constant Field Values

    - #### ST_TEXTINFLATE

          public static final short ST_TEXTINFLATE

      See Also:
        Constant Field Values

    - #### ST_TEXTDEFLATE

          public static final short ST_TEXTDEFLATE

      See Also:
        Constant Field Values

    - #### ST_TEXTINFLATEBOTTOM

          public static final short ST_TEXTINFLATEBOTTOM

      See Also:
        Constant Field Values

    - #### ST_TEXTDEFLATEBOTTOM

          public static final short ST_TEXTDEFLATEBOTTOM

      See Also:
        Constant Field Values

    - #### ST_TEXTINFLATETOP

          public static final short ST_TEXTINFLATETOP

      See Also:
        Constant Field Values

    - #### ST_TEXTDEFLATETOP

          public static final short ST_TEXTDEFLATETOP

      See Also:
        Constant Field Values

    - #### ST_TEXTDEFLATEINFLATE

          public static final short ST_TEXTDEFLATEINFLATE

      See Also:
        Constant Field Values

    - #### ST_TEXTDEFLATEINFLATEDEFLATE

          public static final short ST_TEXTDEFLATEINFLATEDEFLATE

      See Also:
        Constant Field Values

    - #### ST_TEXTFADERIGHT

          public static final short ST_TEXTFADERIGHT

      See Also:
        Constant Field Values

    - #### ST_TEXTFADELEFT

          public static final short ST_TEXTFADELEFT

      See Also:
        Constant Field Values

    - #### ST_TEXTFADEUP

          public static final short ST_TEXTFADEUP

      See Also:
        Constant Field Values

    - #### ST_TEXTFADEDOWN

          public static final short ST_TEXTFADEDOWN

      See Also:
        Constant Field Values

    - #### ST_TEXTSLANTUP

          public static final short ST_TEXTSLANTUP

      See Also:
        Constant Field Values

    - #### ST_TEXTSLANTDOWN

          public static final short ST_TEXTSLANTDOWN

      See Also:
        Constant Field Values

    - #### ST_TEXTCANUP

          public static final short ST_TEXTCANUP

      See Also:
        Constant Field Values

    - #### ST_TEXTCANDOWN

          public static final short ST_TEXTCANDOWN

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTALTERNATEPROCESS

          public static final short ST_FLOWCHARTALTERNATEPROCESS

      See Also:
        Constant Field Values

    - #### ST_FLOWCHARTOFFPAGECONNECTOR

          public static final short ST_FLOWCHARTOFFPAGECONNECTOR

      See Also:
        Constant Field Values

    - #### ST_CALLOUT90

          public static final short ST_CALLOUT90

      See Also:
        Constant Field Values

    - #### ST_ACCENTCALLOUT90

          public static final short ST_ACCENTCALLOUT90

      See Also:
        Constant Field Values

    - #### ST_BORDERCALLOUT90

          public static final short ST_BORDERCALLOUT90

      See Also:
        Constant Field Values

    - #### ST_ACCENTBORDERCALLOUT90

          public static final short ST_ACCENTBORDERCALLOUT90

      See Also:
        Constant Field Values

    - #### ST_LEFTRIGHTUPARROW

          public static final short ST_LEFTRIGHTUPARROW

      See Also:
        Constant Field Values

    - #### ST_SUN

          public static final short ST_SUN

      See Also:
        Constant Field Values

    - #### ST_MOON

          public static final short ST_MOON

      See Also:
        Constant Field Values

    - #### ST_BRACKETPAIR

          public static final short ST_BRACKETPAIR

      See Also:
        Constant Field Values

    - #### ST_BRACEPAIR

          public static final short ST_BRACEPAIR

      See Also:
        Constant Field Values

    - #### ST_SEAL4

          public static final short ST_SEAL4

      See Also:
        Constant Field Values

    - #### ST_DOUBLEWAVE

          public static final short ST_DOUBLEWAVE

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONBLANK

          public static final short ST_ACTIONBUTTONBLANK

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONHOME

          public static final short ST_ACTIONBUTTONHOME

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONHELP

          public static final short ST_ACTIONBUTTONHELP

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONINFORMATION

          public static final short ST_ACTIONBUTTONINFORMATION

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONFORWARDNEXT

          public static final short ST_ACTIONBUTTONFORWARDNEXT

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONBACKPREVIOUS

          public static final short ST_ACTIONBUTTONBACKPREVIOUS

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONEND

          public static final short ST_ACTIONBUTTONEND

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONBEGINNING

          public static final short ST_ACTIONBUTTONBEGINNING

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONRETURN

          public static final short ST_ACTIONBUTTONRETURN

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONDOCUMENT

          public static final short ST_ACTIONBUTTONDOCUMENT

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONSOUND

          public static final short ST_ACTIONBUTTONSOUND

      See Also:
        Constant Field Values

    - #### ST_ACTIONBUTTONMOVIE

          public static final short ST_ACTIONBUTTONMOVIE

      See Also:
        Constant Field Values

    - #### ST_HOSTCONTROL

          public static final short ST_HOSTCONTROL

      See Also:
        Constant Field Values

    - #### ST_TEXTBOX

          public static final short ST_TEXTBOX

      See Also:
        Constant Field Values

    - #### ST_NIL

          public static final short ST_NIL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EscherAggregate

          public EscherAggregate(boolean createDefaultTree)

      create new EscherAggregate
      Parameters:
        `createDefaultTree` - if true creates base tree of the escher records, see EscherAggregate.buildBaseTree() else return empty escher aggregate

    - #### EscherAggregate

          public EscherAggregate(EscherAggregate other)

  - ### Method Detail

    - #### getSid

          public short getSid()

      Description copied from class: `Record`
      return the non static version of the id for this record.
      Specified by:
        `getSid` in class `AbstractEscherHolderRecord`
      Returns:
        Returns the current sid.

    - #### toString

          public java.lang.String toString()

      Calculates the string representation of this record. This is simply a dump of all the records.
      Overrides:
        `toString` in class `AbstractEscherHolderRecord`

    - #### toXml

          public java.lang.String toXml(java.lang.String tab)

      Calculates the xml representation of this record. This is simply a dump of all the records.
      Parameters:
        `tab` - - string which must be added before each line (used by default '\t')
      Returns:
        xml representation of the all aggregated records

    - #### createAggregate

          public static EscherAggregate createAggregate(java.util.List<RecordBase> records,
                                                        int locFirstDrawingRecord)

      Collapses the drawing records into an aggregate. read Drawing, Obj, TxtObj, Note and Continue records into single byte array, create Escher tree from byte array, create map <EscherRecord, Record>
      Parameters:
        `records` - - list of all records inside sheet
        `locFirstDrawingRecord` - - location of the first DrawingRecord inside sheet
      Returns:
        new EscherAggregate create from all aggregated records which belong to drawing layer

    - #### serialize

          public int serialize(int offset,
                               byte[] data)

      Serializes this aggregate to a byte array. Since this is an aggregate record it will effectively serialize the aggregated records.
      Overrides:
        `serialize` in class `AbstractEscherHolderRecord`
      Parameters:
        `offset` - The offset into the start of the array.
        `data` - The byte array to serialize to.
      Returns:
        The number of bytes serialized.

    - #### getRecordSize

          public int getRecordSize()

      Description copied from class: `RecordBase`
      gives the current serialized size of the record. Should include the sid and reclength (4 bytes).
      Overrides:
        `getRecordSize` in class `AbstractEscherHolderRecord`
      Returns:
        record size, including header size of obj, text, note, drawing, continue records

    - #### associateShapeToObjRecord

          public void associateShapeToObjRecord(EscherRecord r,
                                                Record objRecord)

      Associates an escher record to an OBJ record or a TXO record.
      Parameters:
        `r` - - ClientData or Textbox record
        `objRecord` - - Obj or TextObj record

    - #### removeShapeToObjRecord

          public void removeShapeToObjRecord(EscherRecord rec)

      Remove echerRecord and associated to it Obj or TextObj record
      Parameters:
        `rec` - - clientData or textbox record to be removed

    - #### getRecordName

          protected java.lang.String getRecordName()

      Specified by:
        `getRecordName` in class `AbstractEscherHolderRecord`
      Returns:
        "ESCHERAGGREGATE"

    - #### setDgId

          public void setDgId(short dgId)

      EscherDgContainer -EscherSpgrContainer -EscherDgRecord - set id for this record set id for DgRecord of DgContainer
      Parameters:
        `dgId` - - id which must be set

    - #### setMainSpRecordId

          public void setMainSpRecordId(int shapeId)

      EscherDgContainer -EscherSpgrContainer --EscherSpContainer ---EscherSpRecord -set id for this record ---*** --*** -EscherDgRecord set id for the sp record of the first spContainer in main spgrConatiner
      Parameters:
        `shapeId` - - id which must be set

    - #### getShapeToObjMapping

          public java.util.Map<EscherRecord,Record> getShapeToObjMapping()

      Returns:
        unmodifiable copy of the mapping of `EscherClientDataRecord` and `EscherTextboxRecord` to their `TextObjectRecord` or `ObjRecord` .

        We need to access it outside of EscherAggregate when building shapes

    - #### getTailRecords

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

      Returns:
        unmodifiable copy of tail records. We need to access them when building shapes. Every HSSFComment shape has a link to a NoteRecord from the tailRec collection.

    - #### getNoteRecordByObj

          public NoteRecord getNoteRecordByObj(ObjRecord obj)

      Parameters:
        `obj` - - ObjRecord with id == NoteRecord.id
      Returns:
        null if note record is not found else returns note record with id == obj.id

    - #### addTailRecord

          public void addTailRecord(NoteRecord note)

      Add tail record to existing map
      Parameters:
        `note` - to be added

    - #### removeTailRecord

          public void removeTailRecord(NoteRecord note)

      Remove tail record from the existing map
      Parameters:
        `note` - to be removed

    - #### copy

          public EscherAggregate copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `AbstractEscherHolderRecord`
      Returns:
        a deep copy of the implementing class / instance

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