public class PluginManager
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
category |
private static java.lang.String |
LOG4J_PACKAGES |
private static Logger |
LOGGER |
private static java.util.concurrent.CopyOnWriteArrayList<java.lang.String> |
PACKAGES |
private java.util.Map<java.lang.String,PluginType<?>> |
plugins |
Constructor and Description |
---|
PluginManager(java.lang.String category)
Constructs a PluginManager for the plugin category name given.
|
Modifier and Type | Method and Description |
---|---|
static void |
addPackage(java.lang.String p)
Adds a package name to be scanned for plugins.
|
static void |
addPackages(java.util.Collection<java.lang.String> packages)
Adds a list of package names to be scanned for plugins.
|
void |
collectPlugins()
Locates all the plugins.
|
void |
collectPlugins(java.util.List<java.lang.String> packages)
Locates all the plugins including search of specific packages.
|
java.util.Map<java.lang.String,PluginType<?>> |
getPlugins()
Returns all the matching plugins.
|
PluginType<?> |
getPluginType(java.lang.String name)
Returns the type of a specified plugin.
|
static void |
main(java.lang.String[] args)
Deprecated.
Use
PluginProcessor instead. To do so,
simply include log4j-core in your dependencies and make sure annotation processing is not
disabled. By default, supported Java compilers will automatically use that plugin processor provided
log4j-core is on the classpath. |
private static void |
mergeByName(java.util.Map<java.lang.String,PluginType<?>> newPlugins,
java.util.List<PluginType<?>> plugins) |
private static final java.util.concurrent.CopyOnWriteArrayList<java.lang.String> PACKAGES
private static final java.lang.String LOG4J_PACKAGES
private static final Logger LOGGER
private java.util.Map<java.lang.String,PluginType<?>> plugins
private final java.lang.String category
public PluginManager(java.lang.String category)
category
- The plugin category name.@Deprecated public static void main(java.lang.String[] args)
PluginProcessor
instead. To do so,
simply include log4j-core
in your dependencies and make sure annotation processing is not
disabled. By default, supported Java compilers will automatically use that plugin processor provided
log4j-core
is on the classpath.public static void addPackage(java.lang.String p)
p
- The package name. Ignored if null
or empty.public static void addPackages(java.util.Collection<java.lang.String> packages)
addPackage(String)
.packages
- collection of package names to add. Empty and null package names are ignored.public PluginType<?> getPluginType(java.lang.String name)
name
- The name of the plugin.public java.util.Map<java.lang.String,PluginType<?>> getPlugins()
public void collectPlugins()
public void collectPlugins(java.util.List<java.lang.String> packages)
packages
- the list of packages to scan for pluginsprivate static void mergeByName(java.util.Map<java.lang.String,PluginType<?>> newPlugins, java.util.List<PluginType<?>> plugins)