public class PluginManager
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
PluginManager.PluginClassLoader |
| Constructor and Description |
|---|
PluginManager(ResourceManager resourceManager) |
| Modifier and Type | Method and Description |
|---|---|
<T extends Plugin> |
add(PluginPath<T> path,
java.lang.Class<T> cls) |
<T extends Plugin> |
add(PluginPath<T> path,
T object) |
<T extends Plugin,U extends T> |
addDefault(java.lang.Class<T> cls,
java.lang.Class<U> implClass) |
<T extends Plugin,U extends T> |
addDefault(java.lang.Class<T> cls,
U object) |
PluginManager |
from(Resources resources) |
<T extends Plugin> |
get(PluginPath<T> path,
java.lang.Object... args) |
<T extends Plugin> |
get(PluginPaths<T> paths,
java.lang.Object... args) |
protected java.util.Optional |
getDefaultPlugin(java.lang.Class type) |
java.lang.ClassLoader |
getPluginClassLoader() |
void |
loadPlugins(java.lang.String[] directories) |
java.lang.Object |
removeDefault(java.lang.Class cls) |
public PluginManager(ResourceManager resourceManager)
public PluginManager from(Resources resources)
public void loadPlugins(java.lang.String[] directories)
public java.lang.ClassLoader getPluginClassLoader()
protected java.util.Optional getDefaultPlugin(java.lang.Class type)
public <T extends Plugin> java.util.Optional<T> get(PluginPaths<T> paths, java.lang.Object... args)
public <T extends Plugin> java.util.Optional<T> get(PluginPath<T> path, java.lang.Object... args)
public <T extends Plugin> void add(PluginPath<T> path, java.lang.Class<T> cls)
public <T extends Plugin> void add(PluginPath<T> path, T object)
public <T extends Plugin,U extends T> void addDefault(java.lang.Class<T> cls, U object)
public <T extends Plugin,U extends T> void addDefault(java.lang.Class<T> cls, java.lang.Class<U> implClass)
public java.lang.Object removeDefault(java.lang.Class cls)