# LayoutPage
> A whole page as the UI editor exports it: the layout, the rules it opens and closes under, and what its elements do when they are used.
`gg.lode.lecternapi.api.ui.LayoutPage`
---
## Signature
```java
public class LayoutPage
```
---
## Notes
The editor writes one file; this is that file parsed. The `json` is kept verbatim rather
than re-serialised from a parsed model, because the client is the thing that reads it and the
server has no business re-encoding a document it does not need to understand, a page can carry
an element type this build has never heard of and still play correctly.
```java
LayoutPage page = api.getLayoutManager().getPage("stats");
api.getLayoutManager().open(player, page);
```
---
## Methods
### getId
```java
public String getId()
```
---
### getJson
```java
public String getJson()
```
The layout document, exactly as exported, what the client is sent and plays.
---
### getBehavior
```java
public LayoutBehavior getBehavior()
```
---
### getActions
```java
public List<LayoutAction> getActions()
```
---
### actionsFor
```java
public List<LayoutAction> actionsFor(String elementRef, LayoutAction.Trigger trigger)
```
The actions bound to one element reference and trigger, in the order they were authored.
| Parameter | Type |
|---|---|
| `elementRef` | `String` |
| `trigger` | `LayoutAction.Trigger` |
---
### hasDefinition
```java
public boolean hasDefinition()
```
Whether the page carries a layout definition, as opposed to naming one the client has cached.
---
### toLayout
```java
public HudLayout toLayout()
```
Turns this page into the layout the HUD manager plays.
---