org.apache.pdfbox.pdmodel.interactive.pagenavigation

## Class PDThreadBead

- java.lang.Object
- - org.apache.pdfbox.pdmodel.interactive.pagenavigation.PDThreadBead

All Implemented Interfaces:
  COSObjectable

    public class PDThreadBead
    extends Object
    implements COSObjectable

This a single bead in a thread in a PDF document.

Author:
  Ben Litchfield

### Constructor Summary

Constructors
Constructor and Description
`PDThreadBead()` Default constructor.
`PDThreadBead(COSDictionary b)` Constructor that is used for a preexisting dictionary.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `appendBead(PDThreadBead append)` Append a bead after this bead.
`COSDictionary` `getCOSObject()` This will get the underlying dictionary that this object wraps.
`PDThreadBead` `getNextBead()` This will get the next bead.
`PDPage` `getPage()` Get the page that this bead is part of.
`PDThreadBead` `getPreviousBead()` This will get the previous bead.
`PDRectangle` `getRectangle()` The rectangle on the page that this bead is part of.
`PDThread` `getThread()` This will get the thread that this bead is part of.
`protected void` `setNextBead(PDThreadBead next)` Set the next bead in the thread.
`void` `setPage(PDPage page)` Set the page that this bead is part of.
`protected void` `setPreviousBead(PDThreadBead previous)` Set the previous bead in the thread.
`void` `setRectangle(PDRectangle rect)` Set the rectangle on the page that this bead covers.
`void` `setThread(PDThread thread)` Set the thread that this bead is part of.

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

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

### Constructor Detail

#### PDThreadBead

    public PDThreadBead(COSDictionary b)

Constructor that is used for a preexisting dictionary.

Parameters:
  `b` - The underlying dictionary.

#### PDThreadBead

    public PDThreadBead()

Default constructor.

### Method Detail

#### getCOSObject

    public COSDictionary getCOSObject()

This will get the underlying dictionary that this object wraps.

Specified by:
  `getCOSObject` in interface `COSObjectable`
Returns:
  The underlying info dictionary.

#### getThread

    public PDThread getThread()

This will get the thread that this bead is part of. This is only required for the first bead in a thread, so other beads 'may' return null.

Returns:
  The thread that this bead is part of.

#### setThread

    public void setThread(PDThread thread)

Set the thread that this bead is part of. This is only required for the first bead in a thread. Note: This property is set for you by the PDThread.setFirstBead() method.

Parameters:
  `thread` - The thread that this bead is part of.

#### getNextBead

    public PDThreadBead getNextBead()

This will get the next bead. If this bead is the last bead in the list then this will return the first bead.

Returns:
  The next bead in the list or the first bead if this is the last bead.

#### setNextBead

    protected final void setNextBead(PDThreadBead next)

Set the next bead in the thread.

Parameters:
  `next` - The next bead.

#### getPreviousBead

    public PDThreadBead getPreviousBead()

This will get the previous bead. If this bead is the first bead in the list then this will return the last bead.

Returns:
  The previous bead in the list or the last bead if this is the first bead.

#### setPreviousBead

    protected final void setPreviousBead(PDThreadBead previous)

Set the previous bead in the thread.

Parameters:
  `previous` - The previous bead.

#### appendBead

    public void appendBead(PDThreadBead append)

Append a bead after this bead. This will correctly set the next/previous beads in the linked list.

Parameters:
  `append` - The bead to insert.

#### getPage

    public PDPage getPage()

Get the page that this bead is part of.

Returns:
  The page that this bead is part of.

#### setPage

    public void setPage(PDPage page)

Set the page that this bead is part of. This is a required property and must be set when creating a new bead. The PDPage object also has a list of beads in the natural reading order. It is recommended that you add this object to that list as well.

Parameters:
  `page` - The page that this bead is on.

#### getRectangle

    public PDRectangle getRectangle()

The rectangle on the page that this bead is part of.

Returns:
  The part of the page that this bead covers.

#### setRectangle

    public void setRectangle(PDRectangle rect)

Set the rectangle on the page that this bead covers.

Parameters:
  `rect` - The portion of the page that this bead covers.