Class Plugin

  • Direct Known Subclasses:
    FocessQQ.MainPlugin, LazyPlugin

    public abstract class Plugin
    extends Object
    Represent a Plugin class that can be load, enable and disable. Also, provide plenty of API for the plugin to get better with this framework. You should declare PluginType to this class.
    • Constructor Detail

      • Plugin

        public Plugin​(String name,
                      String author,
                      Version version)
        Initialize a Plugin instance by its name. Never instance it! It will be instanced when bot bootstraps automatically.
        Parameters:
        name - the plugin name
        author - the plugin author
        version - the plugin version
        Throws:
        PluginLoaderException - if the classloader of the plugin is not PluginClassLoader
      • Plugin

        protected Plugin()
        Provide a constructor to help PluginType design. Never instance it! It will be instanced when bot bootstraps automatically.
    • Method Detail

      • getPlugin

        public static @Nullable Plugin getPlugin​(Class<? extends Plugin> plugin)
        Get Plugin instance by the class instance
        Parameters:
        plugin - the class instance of the plugin
        Returns:
        the plugin instance
        See Also:
        PluginClassLoader.getPlugin(Class)
      • getPlugin

        public static @Nullable Plugin getPlugin​(String name)
        Get Plugin instance by the name
        Parameters:
        name - the name of the plugin
        Returns:
        the plugin instance
        See Also:
        PluginClassLoader.getPlugin(String)
      • thisPlugin

        public static @Nullable Plugin thisPlugin()
      • getName

        public @NonNull String getName()
      • enable

        public abstract void enable()
        Used to initialize the plugin
      • disable

        public abstract void disable()
        Used to save some data of the plugin
      • onEnable

        public final void onEnable()
      • onDisable

        public final void onDisable()
      • getDefaultFolder

        public @NonNull File getDefaultFolder()
      • equals

        public boolean equals​(@Nullable Object o)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • registerListener

        public void registerListener​(Listener listener)
        Register the listener into the Event chain
        Parameters:
        listener - the listener need to be registered
      • getAuthor

        public String getAuthor()
      • getVersion

        public Version getVersion()
      • getLangConfig

        public LangConfig getLangConfig()
      • isEnabled

        public boolean isEnabled()
      • unload

        public void unload()
        Used to unload this plugin during enabling process This should be called in the enable() method