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
`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
`(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`