Interface HelpTopicFactory<TCommand extends Command>
-
- Type Parameters:
TCommand
- The base class for your custom commands.
public interface HelpTopicFactory<TCommand extends Command>
A HelpTopicFactory is used to create customHelpTopic
objects from commands that inherit from a common base class or have executors that inherit from a common base class. You can use a custom HelpTopic to change the way all the commands in your plugin display in the help. If your plugin implements a complex permissions system, a custom help topic may also be appropriate.To automatically bind your plugin's commands to your custom HelpTopic implementation, first make sure all your commands or executors derive from a custom base class (it doesn't have to do anything). Next implement a custom HelpTopicFactory that accepts your custom command base class and instantiates an instance of your custom HelpTopic from it. Finally, register your HelpTopicFactory against your command base class using the
HelpMap.registerHelpTopicFactory(Class, HelpTopicFactory)
method.As the help system iterates over all registered commands to make help topics, it first checks to see if there is a HelpTopicFactory registered for the command's base class. If so, the factory is used to make a help topic rather than a generic help topic. If no factory is found for the command's base class and the command derives from
PluginCommand
, then the type of the command's executor is inspected looking for a registered HelpTopicFactory. Finally, if no factory is found, a generic help topic is created for the command.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description HelpTopic
createTopic(TCommand command)
This method accepts a command deriving from a custom command base class and constructs a custom HelpTopic for it.
-
-
-
Method Detail
-
createTopic
@Nullable HelpTopic createTopic(@NotNull TCommand command)
This method accepts a command deriving from a custom command base class and constructs a custom HelpTopic for it.- Parameters:
command
- The custom command to build a help topic for.- Returns:
- A new custom help topic or
null
to intentionally NOT create a topic.
-
-