Class AbstractPagination<C,T,X extends AbstractPageContext<C,T,?>>
java.lang.Object
studio.mevera.lotus.api.pagination.AbstractPagination<C,T,X>
Immutable, viewer-agnostic definition of a paginated menu. Composes a
PageLayout,
ContentSource and ComponentRenderer; instances are safe to share and reuse
across players and threads (definitions only — runtime state lives on the PaginationSession).-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAbstractPagination.Builder<C,T, X extends AbstractPageContext<C, T, ?>, P extends AbstractPagination<C, T, X>> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractPagination(String id, PageLayout<C, X> layout, ContentSource<T> source, ComponentRenderer<T, X> renderer, boolean trimOverflow) -
Method Summary
Modifier and TypeMethodDescription@NotNull StringgetId()@NotNull PageLayout<C, X> layout()@NotNull PaginationSession<C, T, ? extends X> Resolves source items for this viewer, creates a per-player session via thePaginationSessionFactoryregistered onLotus, and opens page 0.@NotNull ComponentRenderer<T, X> renderer()@NotNull ContentSource<T> source()boolean
-
Constructor Details
-
AbstractPagination
protected AbstractPagination(String id, PageLayout<C, X> layout, ContentSource<T> source, ComponentRenderer<T, X> renderer, boolean trimOverflow)
-
-
Method Details
-
getId
-
layout
-
source
-
renderer
-
trimOverflow
public boolean trimOverflow() -
open
@NotNull public @NotNull PaginationSession<C,T, open? extends X> (@NotNull @NotNull Lotus<C> lotus, @NotNull @NotNull org.bukkit.entity.Player viewer) Resolves source items for this viewer, creates a per-player session via thePaginationSessionFactoryregistered onLotus, and opens page 0.
-