public class PluginRegistry
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
PluginRegistry.PluginTest
A Test that checks to see if each class is annotated with the 'Plugin' annotation.
|
Modifier and Type | Field and Description |
---|---|
private static PluginRegistry |
INSTANCE |
private static java.lang.Object |
INSTANCE_LOCK |
private static Logger |
LOGGER |
private java.util.concurrent.ConcurrentMap<java.lang.Long,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> |
pluginsByCategoryByBundleId
Contains plugins found in Log4j2Plugins.dat cache files in OSGi Bundles.
|
private java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> |
pluginsByCategoryByPackage
Contains plugins found by searching for annotated classes at runtime.
|
private java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> |
pluginsByCategoryRef
Contains plugins found in Log4j2Plugins.dat cache files in the main CLASSPATH.
|
Modifier | Constructor and Description |
---|---|
private |
PluginRegistry() |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Resets the registry to an empty state.
|
void |
clearBundlePlugins(long bundleId) |
private java.util.Map<java.lang.String,java.util.List<PluginType<?>>> |
decodeCacheFiles(java.lang.ClassLoader loader) |
static PluginRegistry |
getInstance()
Returns the global PluginRegistry instance.
|
java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> |
getPluginsByCategoryByBundleId() |
java.util.Map<java.lang.String,java.util.List<PluginType<?>>> |
loadFromBundle(long bundleId,
java.lang.ClassLoader loader) |
java.util.Map<java.lang.String,java.util.List<PluginType<?>>> |
loadFromMainClassLoader() |
java.util.Map<java.lang.String,java.util.List<PluginType<?>>> |
loadFromPackage(java.lang.String pkg) |
private static final Logger LOGGER
private static volatile PluginRegistry INSTANCE
private static final java.lang.Object INSTANCE_LOCK
private final java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> pluginsByCategoryRef
private final java.util.concurrent.ConcurrentMap<java.lang.Long,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> pluginsByCategoryByBundleId
private final java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> pluginsByCategoryByPackage
public static PluginRegistry getInstance()
public void clear()
public java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> getPluginsByCategoryByBundleId()
public java.util.Map<java.lang.String,java.util.List<PluginType<?>>> loadFromMainClassLoader()
public void clearBundlePlugins(long bundleId)
public java.util.Map<java.lang.String,java.util.List<PluginType<?>>> loadFromBundle(long bundleId, java.lang.ClassLoader loader)
private java.util.Map<java.lang.String,java.util.List<PluginType<?>>> decodeCacheFiles(java.lang.ClassLoader loader)
public java.util.Map<java.lang.String,java.util.List<PluginType<?>>> loadFromPackage(java.lang.String pkg)