Package org.jacoco.report.internal.html.page

## Class ReportPage

- java.lang.Object
- - org.jacoco.report.internal.html.page.ReportPage

All Implemented Interfaces:
  `ILinkable`

Direct Known Subclasses:
  `NodePage`, `SessionsPage`

    public abstract class ReportPage
    extends java.lang.Object
    implements ILinkable

Base class for HTML page generators. It renders the page skeleton with the breadcrumb, the title and the footer. Every report page is part of a hierarchy and has a parent page (except the root page).

### Field Summary

Fields
`protected IHTMLReportContext` `context` context for this report
`protected ReportOutputFolder` `folder` output folder for this node

### Constructor Summary

Constructors
`protected` `ReportPage​(ReportPage parent, ReportOutputFolder folder, IHTMLReportContext context)` Creates a new report page.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract void` `content​(HTMLElement body)` Creates the actual content of the page.
`protected abstract java.lang.String` `getFileName()` Specifies the local file name of this page.
`java.lang.String` `getLink​(ReportOutputFolder base)` Returns a relative link to the item that works from the given base folder.
`protected java.lang.String` `getOnload()` Returns the onload handler for this page.
`protected void` `head​(HTMLElement head)` Creates the elements within the head element.
`protected void` `infoLinks​(HTMLElement span)` Inserts additional links on the top right corner.
`protected boolean` `isRootPage()` Checks whether this is the root page of the report.
`void` `render()` Renders this page's content and optionally additional pages.

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

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

### Methods inherited from interface org.jacoco.report.internal.html.ILinkable

`getLinkLabel, getLinkStyle`

### Field Detail

#### folder

    protected final ReportOutputFolder folder

output folder for this node

#### context

    protected final IHTMLReportContext context

context for this report

### Constructor Detail

#### ReportPage

    protected ReportPage​(ReportPage parent,
                         ReportOutputFolder folder,
                         IHTMLReportContext context)

Creates a new report page.

Parameters:
  `parent` - optional hierarchical parent
  `folder` - base folder to create this report in
  `context` - settings context

### Method Detail

#### isRootPage

    protected final boolean isRootPage()

Checks whether this is the root page of the report.

Returns:
  `true` if this is the root page

#### render

    public void render()
                throws java.io.IOException

Renders this page's content and optionally additional pages. This method must be called at most once.

Throws:
  `java.io.IOException` - if the page can't be written

#### head

    protected void head​(HTMLElement head)
                 throws java.io.IOException

Creates the elements within the head element.

Parameters:
  `head` - head tag of the page
Throws:
  `java.io.IOException` - in case of IO problems with the report writer

#### getOnload

    protected java.lang.String getOnload()

Returns the onload handler for this page.

Returns:
  handler or `null`

#### infoLinks

    protected void infoLinks​(HTMLElement span)
                      throws java.io.IOException

Inserts additional links on the top right corner.

Parameters:
  `span` - parent element
Throws:
  `java.io.IOException` - in case of IO problems with the report writer

#### getFileName

    protected abstract java.lang.String getFileName()

Specifies the local file name of this page.

Returns:
  local file name

#### content

    protected abstract void content​(HTMLElement body)
                             throws java.io.IOException

Creates the actual content of the page.

Parameters:
  `body` - body tag of the page
Throws:
  `java.io.IOException` - in case of IO problems with the report writer

#### getLink

    public final java.lang.String getLink​(ReportOutputFolder base)

Description copied from interface: `ILinkable`
Returns a relative link to the item that works from the given base folder.

Specified by:
  `getLink` in interface `ILinkable`
Parameters:
  `base` - folder where the link should be inserted
Returns:
  relative link or `null` if the target does not exist