public class PluginClassLoader extends URLClassLoader
| 限定符和类型 | 字段和说明 |
|---|---|
static Map<Class<? extends Plugin>,Plugin> |
CLASS_PLUGIN_MAP |
static Map<String,Plugin> |
NAME_PLUGIN_MAP |
static List<Plugin> |
REGISTERED_PLUGINS |
| 构造器和说明 |
|---|
PluginClassLoader(@NotNull File file) |
| 限定符和类型 | 方法和说明 |
|---|---|
static File |
disablePlugin(Plugin plugin)
Used to disable plugin
|
static void |
enablePlugin(Plugin plugin)
Used to enable plugin
|
Class<?> |
findClass(String name,
boolean resolve) |
File |
getFile() |
Set<Class<?>> |
getLoadedClasses() |
Plugin |
getPlugin() |
static <T extends Plugin> |
getPlugin(Class<T> plugin)
Get Plugin instance by the class instance
|
static @Nullable Plugin |
getPlugin(String name)
Get Plugin instance by the name
|
PluginDescription |
getPluginDescription() |
static @NotNull List<Plugin> |
getPlugins()
Get all plugins registered
|
boolean |
load() |
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstancedefineClass, defineClassclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic PluginClassLoader(@NotNull
@NotNull File file)
throws MalformedURLException
public PluginDescription getPluginDescription()
public static void enablePlugin(Plugin plugin)
plugin - the plugin need to be enabledPluginLoaderException - if the classloader of the plugin is not PluginClassLoaderPluginDuplicateException - if the plugin name already exists in the registered pluginspublic static File disablePlugin(Plugin plugin)
plugin - the plugin need to be disabled@Nullable public static <T extends Plugin> T getPlugin(Class<T> plugin)
T - the plugin typeplugin - the class instance of the pluginPlugin.getPlugin(Class)@NotNull public static @NotNull List<Plugin> getPlugins()
@Nullable public static @Nullable Plugin getPlugin(String name)
name - the name of the pluginPlugin.getPlugin(String)public File getFile()
public Plugin getPlugin()
public boolean load()
public Class<?> findClass(String name, boolean resolve) throws ClassNotFoundException
Copyright © 2022. All rights reserved.