Package com.jagrosh.jdautilities.menu
Class EmbedPaginator.Builder
java.lang.Object
com.jagrosh.jdautilities.menu.Menu.Builder<EmbedPaginator.Builder,EmbedPaginator>
com.jagrosh.jdautilities.menu.EmbedPaginator.Builder
- Enclosing class:
EmbedPaginator
public static class EmbedPaginator.Builder
extends Menu.Builder<EmbedPaginator.Builder,EmbedPaginator>
The
Menu.Builder
for
a EmbedPaginator
.- Author:
- Andre_601
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAddsMessageEmbeds
to the list of items to paginate.addItems
(Collection<net.dv8tion.jda.api.entities.MessageEmbed> embeds) Adds the collection of providedMessageEmbeds
to the list of items to paginate.addItems
(net.dv8tion.jda.api.entities.MessageEmbed... embeds) AddsMessageEmbeds
to the list of items to paginate.allowTextInput
(boolean allowTextInput) Sets theEmbedPaginator
to allow a page number to be specified by a user via text.build()
Builds theEmbedPaginator
with this Builder.Clears all previously set items.setBulkSkipNumber
(int bulkSkipNumber) Sets theEmbedPaginator
's bulk-skip function to skip multiple pages using alternate forward and backwards reactions.setFinalAction
(Consumer<net.dv8tion.jda.api.entities.Message> finalAction) Sets theConsumer
to perform if theEmbedPaginator
times out.Sets theMessageEmbeds
to paginate.setItems
(Collection<net.dv8tion.jda.api.entities.MessageEmbed> embeds) Sets theMessageEmbeds
to paginate.setItems
(net.dv8tion.jda.api.entities.MessageEmbed... embeds) Sets theMessageEmbeds
to paginate.setLeftRightText
(String left, String right) Sets theEmbedPaginator
to traverse left or right when a provided text input is sent in the form of a Message to theGuildChannel
the menu is displayed in.Sets the text of theMessage
to be displayed when theEmbedPaginator
is built.setText
(BiFunction<Integer, Integer, String> textBiFunction) Sets the text of theMessage
to be displayed relative to the total page number and the current page as determined by the providedBiFunction
.waitOnSinglePage
(boolean waitOnSinglePage) Sets whether theEmbedPaginator
will instantly timeout, and possibly run a providedRunnable
, if only a single slide is available to display.wrapPageEnds
(boolean wrapPageEnds) Sets theEmbedPaginator
to wrap from the last page to the first when traversing right and vice versa from the left.Methods inherited from class com.jagrosh.jdautilities.menu.Menu.Builder
addRoles, addUsers, setEventWaiter, setRoles, setTimeout, setUsers
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
build
Builds theEmbedPaginator
with this Builder.- Specified by:
build
in classMenu.Builder<EmbedPaginator.Builder,
EmbedPaginator> - Returns:
- The Paginator built from this Builder.
- Throws:
IllegalArgumentException
- If one of the following is violated:- No
EventWaiter
was set. - No items were set to paginate.
- No
-
setText
Sets the text of theMessage
to be displayed when theEmbedPaginator
is built.- Parameters:
text
- The Message content to be displayed above the embed when the EmbedPaginator is built.- Returns:
- This builder
-
setText
Sets the text of theMessage
to be displayed relative to the total page number and the current page as determined by the providedBiFunction
.
As the page changes, the BiFunction will re-process the current page number and the total page number, allowing for the displayed text of the Message to change depending on the page number.- Parameters:
textBiFunction
- The BiFunction that uses both current and total page numbers, to get text for the Message- Returns:
- This builder
-
setFinalAction
public EmbedPaginator.Builder setFinalAction(Consumer<net.dv8tion.jda.api.entities.Message> finalAction) Sets theConsumer
to perform if theEmbedPaginator
times out.- Parameters:
finalAction
- The Consumer action to perform if the EmbedPaginator times out- Returns:
- This builder
-
waitOnSinglePage
Sets whether theEmbedPaginator
will instantly timeout, and possibly run a providedRunnable
, if only a single slide is available to display.- Parameters:
waitOnSinglePage
-true
if the EmbedPaginator will still generate- Returns:
- This builder
-
clearItems
Clears all previously set items.- Returns:
- This builder
-
addItems
AddsMessageEmbeds
to the list of items to paginate.- Parameters:
embeds
- The list of MessageEmbeds to add- Returns:
- This builder
-
addItems
public EmbedPaginator.Builder addItems(Collection<net.dv8tion.jda.api.entities.MessageEmbed> embeds) Adds the collection of providedMessageEmbeds
to the list of items to paginate.- Parameters:
embeds
- The collection of MessageEmbeds to add- Returns:
- This builder
-
addItems
AddsMessageEmbeds
to the list of items to paginate.
This method creates a new, basic MessageEmbed containing only the provided String as description.
Use thePaginator
for more Embed customization, without providing your own MessageEmbed instances.- Parameters:
items
- The String list of items to add as MessageEmbeds- Returns:
- This builder
- Throws:
IllegalArgumentException
- When one of the provided Strings is longer than 2048 characters.
-
setItems
Sets theMessageEmbeds
to paginate.
This method clears all previously set items before setting.- Parameters:
embeds
- The MessageEmbed list of items to add- Returns:
- This builder
-
setItems
public EmbedPaginator.Builder setItems(Collection<net.dv8tion.jda.api.entities.MessageEmbed> embeds) Sets theMessageEmbeds
to paginate.
This method clears all previously set items before adding the provided collection of MessageEmbeds.- Parameters:
embeds
- The collection of MessageEmbeds to set.- Returns:
- This builder
-
setItems
Sets theMessageEmbeds
to paginate.
This method clears all previously set items before setting each String as a new MessageEmbed.
Use thePaginator
for more Embed customization, without providing your own MessageEmbed instances.- Parameters:
items
- The String list of items to add- Returns:
- This builder
- Throws:
IllegalArgumentException
- When one of the provided Strings is longer than 2048 characters.
-
setBulkSkipNumber
Sets theEmbedPaginator
's bulk-skip function to skip multiple pages using alternate forward and backwards reactions.- Parameters:
bulkSkipNumber
- The number of pages to skip when the bulk-skip reactions are used.- Returns:
- This builder
-
wrapPageEnds
Sets theEmbedPaginator
to wrap from the last page to the first when traversing right and vice versa from the left.- Parameters:
wrapPageEnds
-true
to enable wrapping.- Returns:
- This builder
-
allowTextInput
Sets theEmbedPaginator
to allow a page number to be specified by a user via text.Note that setting this doesn't mean that left and right text inputs provided via
setLeftRightText(String, String)
will be invalidated if they were set previously! To invalidate those, providenull
for one or both of the parameters of that method.- Parameters:
allowTextInput
-true
if the EmbedPaginator will allow page-number text input.- Returns:
- This builder
-
setLeftRightText
Sets theEmbedPaginator
to traverse left or right when a provided text input is sent in the form of a Message to theGuildChannel
the menu is displayed in.If one or both these parameters are provided
null
this resets both of them and they will no longer be available when the Paginator is built.- Parameters:
left
- The left text input, causes the EmbedPaginator to traverse one page left.right
- The right text input, causes the EmbedPaginator to traverse one page right.- Returns:
- This builder
-