# 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. ---