From e79651220a3b074d5256ba06ca3d51c12374674e Mon Sep 17 00:00:00 2001 From: Stephanie Gredell Date: Wed, 24 Jan 2024 01:40:45 -0800 Subject: [PATCH] add some javadocs and minor cleanup --- app/src/main/java/musicbot/ButtonInteraction.java | 11 +++++++++++ .../java/musicbot/ButtonInteractionManager.java | 13 +++++++++++++ app/src/main/java/musicbot/CommandManager.java | 3 +++ app/src/main/java/musicbot/MCommand.java | 5 +++++ app/src/main/java/musicbot/YoutubeSearch.java | 2 -- .../buttonInteractions/MoreRecommendation.java | 4 ++++ app/src/main/java/musicbot/commands/Recommend.java | 7 ++----- 7 files changed, 38 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/musicbot/ButtonInteraction.java b/app/src/main/java/musicbot/ButtonInteraction.java index 6f35809..4b3fb78 100644 --- a/app/src/main/java/musicbot/ButtonInteraction.java +++ b/app/src/main/java/musicbot/ButtonInteraction.java @@ -2,8 +2,19 @@ package musicbot; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; +/** + * Interface to build a button interaction to manage a button event + */ public interface ButtonInteraction { + /** + * A unique name that identifies the button interaction + * @return String the name of the button + */ String getName(); + /** + * Executes the interaction logic of the button + * @param event + */ void execute(ButtonInteractionEvent event); } diff --git a/app/src/main/java/musicbot/ButtonInteractionManager.java b/app/src/main/java/musicbot/ButtonInteractionManager.java index 1afca97..2925663 100644 --- a/app/src/main/java/musicbot/ButtonInteractionManager.java +++ b/app/src/main/java/musicbot/ButtonInteractionManager.java @@ -7,9 +7,18 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; +/** + * Extension of the Listener Adaptor that manages all the interactions. Because + * JDA doesn't have a class to specifically build button events, this is a custom way + * of doing so. + */ public class ButtonInteractionManager extends ListenerAdapter { private final List buttonInteractions = new ArrayList<>(); + /** + * Listener for the button interactions. + * @param event the {@code ButtonInteractionEvent} + */ @Override public void onButtonInteraction(@NotNull ButtonInteractionEvent event) { final String id = event.getComponent().getId(); @@ -23,6 +32,10 @@ public class ButtonInteractionManager extends ListenerAdapter { } } + /** + * Add a ButtonInteraction to the ButtonInteractionManager + * @param buttonInteraction the ButtonInteractiont to be added + */ public void add(@NotNull final ButtonInteraction buttonInteraction) { buttonInteractions.add(buttonInteraction); } diff --git a/app/src/main/java/musicbot/CommandManager.java b/app/src/main/java/musicbot/CommandManager.java index f6ae12f..00076a5 100644 --- a/app/src/main/java/musicbot/CommandManager.java +++ b/app/src/main/java/musicbot/CommandManager.java @@ -9,6 +9,9 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; +/** + * Extension of the Listener Adaptor that manages all the commands. + */ public class CommandManager extends ListenerAdapter { private final List commands = new ArrayList<>(); diff --git a/app/src/main/java/musicbot/MCommand.java b/app/src/main/java/musicbot/MCommand.java index d606138..c519f55 100644 --- a/app/src/main/java/musicbot/MCommand.java +++ b/app/src/main/java/musicbot/MCommand.java @@ -5,6 +5,11 @@ import net.dv8tion.jda.api.interactions.commands.build.OptionData; import java.util.List; +/** + * Interface to build a command interaction to manage a button event. + * This class is prefaced with an M (for MusicBot) as to not confuse with + * JDA's Command class. + */ public interface MCommand { String getName(); diff --git a/app/src/main/java/musicbot/YoutubeSearch.java b/app/src/main/java/musicbot/YoutubeSearch.java index f7d721a..8c593ce 100644 --- a/app/src/main/java/musicbot/YoutubeSearch.java +++ b/app/src/main/java/musicbot/YoutubeSearch.java @@ -19,8 +19,6 @@ import java.util.Optional; import java.util.Properties; public class YoutubeSearch { - private static final String PROPERTIES_FILENAME = "youtube.properties"; - private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); private static final JsonFactory JSON_FACTORY = new JacksonFactory(); diff --git a/app/src/main/java/musicbot/buttonInteractions/MoreRecommendation.java b/app/src/main/java/musicbot/buttonInteractions/MoreRecommendation.java index 21225d7..5b087ca 100644 --- a/app/src/main/java/musicbot/buttonInteractions/MoreRecommendation.java +++ b/app/src/main/java/musicbot/buttonInteractions/MoreRecommendation.java @@ -13,6 +13,10 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +/** + * This interaction happens when a user requests more recommendations + * after initial /recommend. + */ public class MoreRecommendation implements ButtonInteraction { private static final int INCREMENT = 5; private static final String ARGS_DELIMITER = "_"; diff --git a/app/src/main/java/musicbot/commands/Recommend.java b/app/src/main/java/musicbot/commands/Recommend.java index 870d66e..9869a8d 100644 --- a/app/src/main/java/musicbot/commands/Recommend.java +++ b/app/src/main/java/musicbot/commands/Recommend.java @@ -5,7 +5,6 @@ import musicbot.RecommendationService; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; -import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.components.buttons.Button; @@ -74,10 +73,8 @@ public class Recommend implements MCommand { final List