public abstract static class Menu.Builder<T extends Menu.Builder<T,V>,V extends Menu>
extends java.lang.Object
Menu.
 Conventionally, implementations of Menu should have a static nested class called
 Builder, which extends this superclass:
 
 public class MyMenu extends Menu
 {
     // Menu Code
     public static class Builder extends Menu.Builder<Builder, MyMenu>
     {
         // Builder Code
     }
 }
 MenuBuilder.embeds, there
         is no bias or advantage of implementing a custom Menu as a message without an embed.| Modifier and Type | Field and Description | 
|---|---|
protected java.util.Set<net.dv8tion.jda.core.entities.Role> | 
roles  | 
protected long | 
timeout  | 
protected java.util.concurrent.TimeUnit | 
unit  | 
protected java.util.Set<net.dv8tion.jda.core.entities.User> | 
users  | 
protected EventWaiter | 
waiter  | 
| Constructor and Description | 
|---|
Builder()  | 
| Modifier and Type | Method and Description | 
|---|---|
T | 
addRoles(net.dv8tion.jda.core.entities.Role... roles)
Adds  
Roles that are allowed to use the
 Menu that will be built. | 
T | 
addUsers(net.dv8tion.jda.core.entities.User... users)
Adds  
Users that are allowed to use the
 Menu that will be built. | 
abstract V | 
build()
Builds the  
Menu corresponding to
 this Menu.Builder. | 
T | 
setEventWaiter(EventWaiter waiter)
Sets the  
EventWaiter
 that will do Menu operations. | 
T | 
setRoles(net.dv8tion.jda.core.entities.Role... roles)
Sets  
Roles that are allowed to use the
 Menu that will be built. | 
T | 
setTimeout(long timeout,
          java.util.concurrent.TimeUnit unit)
Sets the timeout that the  
Menu should
 stay available. | 
T | 
setUsers(net.dv8tion.jda.core.entities.User... users)
Sets  
Users that are allowed to use the
 Menu that will be built. | 
protected EventWaiter waiter
protected java.util.Set<net.dv8tion.jda.core.entities.User> users
protected java.util.Set<net.dv8tion.jda.core.entities.Role> roles
protected long timeout
protected java.util.concurrent.TimeUnit unit
public abstract V build()
Menu corresponding to
 this Menu.Builder.
 Menu.Builder.public final T setEventWaiter(EventWaiter waiter)
EventWaiter
 that will do Menu operations.
 NOTE: All Menus will only work with an EventWaiter set!
 
Not setting an EventWaiter means the Menu will not work.
waiter - The EventWaiterpublic final T addUsers(net.dv8tion.jda.core.entities.User... users)
Users that are allowed to use the
 Menu that will be built.users - The Users allowed to use the Menupublic final T setUsers(net.dv8tion.jda.core.entities.User... users)
Users that are allowed to use the
 Menu that will be built.
 users - The Users allowed to use the Menupublic final T addRoles(net.dv8tion.jda.core.entities.Role... roles)
Roles that are allowed to use the
 Menu that will be built.roles - The Roles allowed to use the Menupublic final T setRoles(net.dv8tion.jda.core.entities.Role... roles)
Roles that are allowed to use the
 Menu that will be built.
 roles - The Roles allowed to use the Menupublic final T setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Menu should
 stay available.
 After this has expired, the a final action in the form of a
 Runnable may execute.
timeout - The amount of time for the Menu to stay availableunit - The TimeUnit for the timeout