diff --git a/common/src/main/java/revxrsal/commands/exception/InvalidHelpPageException.java b/common/src/main/java/revxrsal/commands/exception/InvalidHelpPageException.java index e0da4dae..34b8bb9f 100644 --- a/common/src/main/java/revxrsal/commands/exception/InvalidHelpPageException.java +++ b/common/src/main/java/revxrsal/commands/exception/InvalidHelpPageException.java @@ -31,7 +31,7 @@ import java.util.List; /** - * Thrown when an invalid page is passed to {@link CommandList#asPage(int, int)} + * Thrown when an invalid page is passed to {@link CommandList#paginate(int, int)} */ @ThrowableFromCommand public class InvalidHelpPageException extends RuntimeException { diff --git a/common/src/main/java/revxrsal/commands/help/Help.java b/common/src/main/java/revxrsal/commands/help/Help.java index 1be5a08e..ebf95d8f 100644 --- a/common/src/main/java/revxrsal/commands/help/Help.java +++ b/common/src/main/java/revxrsal/commands/help/Help.java @@ -136,9 +136,31 @@ interface CommandList extends Iterable> asPage( + @Deprecated(forRemoval = true) + default List> asPage( + @Range(from = 1, to = Integer.MAX_VALUE) int pageNumber, + @Range(from = 1, to = Integer.MAX_VALUE) int elementsPerPage + ) throws InvalidHelpPageException { + return paginate(pageNumber, elementsPerPage); + } + + /** + * Returns the list of commands that belong to a specific page after paginating + * this list. + *

+ * Note that the list returned by this method is immutable. + * + * @param pageNumber The page number + * @param elementsPerPage The elements to include in each page + * @return The pages list. + * @throws InvalidHelpPageException if {@code pageNumber} is greater than + * {@link #numberOfPages(int)} or less than 1 + */ + @Unmodifiable + List> paginate( @Range(from = 1, to = Integer.MAX_VALUE) int pageNumber, @Range(from = 1, to = Integer.MAX_VALUE) int elementsPerPage ) throws InvalidHelpPageException; diff --git a/common/src/main/java/revxrsal/commands/node/parser/HelpImpl.java b/common/src/main/java/revxrsal/commands/node/parser/HelpImpl.java index aee2d033..236108dd 100644 --- a/common/src/main/java/revxrsal/commands/node/parser/HelpImpl.java +++ b/common/src/main/java/revxrsal/commands/node/parser/HelpImpl.java @@ -33,8 +33,6 @@ import java.util.Iterator; import java.util.List; -import static revxrsal.commands.help.Help.paginate; - final class HelpImpl { static abstract class CommandListImpl implements Help.CommandList { @@ -52,8 +50,8 @@ public CommandListImpl(@Unmodifiable List> commands) { return commands; } - @Override public @Unmodifiable List> asPage(int pageNumber, int elementsPerPage) { - return paginate(commands, pageNumber, elementsPerPage); + @Override public @Unmodifiable List> paginate(int pageNumber, int elementsPerPage) { + return Help.paginate(commands, pageNumber, elementsPerPage); } @Override public @NotNull Iterator> iterator() {