com.lowagie.text.pdf

## Class PdfStructureTreeRoot

- java.lang.Object
- - com.lowagie.text.pdf.PdfObject
  - - com.lowagie.text.pdf.PdfDictionary
    - - com.lowagie.text.pdf.PdfStructureTreeRoot

-     public class PdfStructureTreeRoot
      extends PdfDictionary

  The structure tree root corresponds to the highest hierarchy level in a tagged PDF.
  Author:
    Paulo Soares (psoares@consiste.pt)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.util.HashMap` | `parentTree`
    `private PdfIndirectReference` | `reference`
    `private PdfWriter` | `writer` Holds value of property writer.

    - ### Fields inherited from class com.lowagie.text.pdf.PdfDictionary

      `CATALOG, FONT, hashMap, OUTLINES, PAGE, PAGES`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfObject

      `ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PdfStructureTreeRoot(PdfWriter writer)` Creates a new instance of PdfStructureTreeRoot

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `buildTree()`
    `PdfIndirectReference` | `getReference()` Gets the reference this object will be written to.
    `PdfWriter` | `getWriter()` Gets the writer.
    `void` | `mapRole(PdfName used, PdfName standard)` Maps the user tags to the standard tags.
    `private void` | `nodeProcess(PdfDictionary struc, PdfIndirectReference reference)`
    `(package private) void` | `setPageMark(int page, PdfIndirectReference struc)`

    - ### Methods inherited from class com.lowagie.text.pdf.PdfDictionary

      `contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, size, toPdf, toString`

    - ### Methods inherited from class com.lowagie.text.pdf.PdfObject

      `canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type`

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

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

- - ### Field Detail

    - #### parentTree

          private java.util.HashMap parentTree

    - #### reference

          private PdfIndirectReference reference

    - #### writer

          private PdfWriter writer

      Holds value of property writer.

  - ### Constructor Detail

    - #### PdfStructureTreeRoot

          PdfStructureTreeRoot(PdfWriter writer)

      Creates a new instance of PdfStructureTreeRoot

  - ### Method Detail

    - #### mapRole

          public void mapRole(PdfName used,
                     PdfName standard)

      Maps the user tags to the standard tags. The mapping will allow a standard application to make some sense of the tagged document whatever the user tags may be.
      Parameters:
        `used` - the user tag
        `standard` - the standard tag

    - #### getWriter

          public PdfWriter getWriter()

      Gets the writer.
      Returns:
        the writer

    - #### getReference

          public PdfIndirectReference getReference()

      Gets the reference this object will be written to.
      Returns:
        the reference this object will be written to
      Since:
        2.1.6 method removed in 2.1.5, but restored in 2.1.6

    - #### setPageMark

          void setPageMark(int page,
                         PdfIndirectReference struc)

    - #### nodeProcess

          private void nodeProcess(PdfDictionary struc,
                         PdfIndirectReference reference)
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### buildTree

          void buildTree()
                   throws java.io.IOException

      Throws:
        `java.io.IOException`