Interface Component

All Known Subinterfaces:
ChatMessageComponent, ContentListItemComponent, ForumCategoryComponent, ForumCommentComponent, ForumTopicComponent
All Known Implementing Classes:
AccordionModule, AccountWidget, Alert, Audio, Badge, Blockquote, Breadcrumb, Button, CalloutModule, Card, CardGrid, ChatModule, Checkbox, Code, Column, ComparisonModule, Container, ContentModule, DataModule, DataTable, DefaultChatMessageComponent, DefaultContentListItemComponent, DefaultForumCategoryComponent, DefaultForumCommentComponent, DefaultForumTopicComponent, Div, Divider, DynamicCardModule, DynamicListModule, DynamicTableModule, EditableModule, EditablePage, EditableRow, Form, FormModule, ForumCollapsibleComposer, Gallery, GalleryModule, Grid, Header, HeroModule, HtmlTag, Icon, Image, InfoBox, Label, Link, ListItem, Markdown, Modal, Module, NavBar, NavBar.NavItem, OrderedList, Page, Paragraph, ProgressBar, QuoteModule, RadioGroup, RawHtml, RichContentModule, Row, Section, Select, Select.Option, ShellTemplate, SideNav, SideNav.NavItem, SideNav.Section, SimpleListModule, Slot, Spacer, Spinner, StatsModule, Table, Table.Cell, Table.Row, TabsModule, Tag, TemplateComponent, TextArea, TextInput, TextNode, TimelineModule, UnorderedList, Video

public interface Component
Contract for any renderable SimplyPages UI node.

Lifecycle: callers may render with an explicit RenderContext or use render() to render against RenderContext.empty().

Usage boundary: slot-aware rendering works directly through this interface; Template is the optional compiled wrapper for reuse of stable render structures.

Mutability/thread-safety: this interface does not impose either. Implementations must document whether instances are mutable and safe to share across threads or requests.

  • Method Summary

    Modifier and Type
    Method
    Description
    default Template
    Compiles this component into a reusable Template.
    default String
    Renders this component with an empty context.
    Renders this component using the supplied render context.
    default String
    render(Map<? extends SlotKey<?>, ?> values)
    Renders this component from raw slot values.
  • Method Details

    • render

      String render(RenderContext context)
      Renders this component using the supplied render context.
      Parameters:
      context - context used for slot resolution and render policy
      Returns:
      rendered HTML for this component
    • render

      default String render()
      Renders this component with an empty context.
      Returns:
      rendered HTML for this component
    • render

      default String render(Map<? extends SlotKey<?>, ?> values)
      Renders this component from raw slot values.
      Parameters:
      values - raw slot values keyed by SlotKey
      Returns:
      rendered HTML for this component
    • compile

      default Template compile()
      Compiles this component into a reusable Template.
      Returns:
      compiled template