package de.gnmyt.autoresponder.commands; import de.gnmyt.autoresponder.commands.usage.SimpleUsageBuilder; import de.gnmyt.autoresponder.commands.usage.UsageElement; import de.gnmyt.autoresponder.commands.usage.UsageType; import java.util.ArrayList; public abstract class ResponderCommand { private final ArrayList usageElements = new ArrayList<>(); public void usage() { // The usage of the command } /** * Creates a new {@link SimpleUsageBuilder}, which adds a new usage element * * @param type The type of the usage element * @param name The name of the usage element * @return the created {@link SimpleUsageBuilder} */ public SimpleUsageBuilder addUsage(UsageType type, String name) { return new SimpleUsageBuilder(this).type(type).name(name); } /** * Creates a new {@link SimpleUsageBuilder}, which adds a new usage element * * @param name The name of the usage element * @return the created {@link SimpleUsageBuilder} */ public SimpleUsageBuilder addUsage(String name) { return new SimpleUsageBuilder(this).name(name); } /** * Adds a new usage element to the list * * @param usageElement The usage element you want to add */ public void addUsageElement(UsageElement usageElement) { usageElements.add(usageElement); } }