Class PluginRegistry
- java.lang.Object
-
- org.apache.logging.log4j.core.config.plugins.util.PluginRegistry
-
public class PluginRegistry extends java.lang.Object
Registry singleton for PluginType maps partitioned by source type and then by category names.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PluginRegistry.PluginTest
A Test that checks to see if each class is annotated with the 'Plugin' annotation.
-
Field Summary
Fields Modifier and Type Field 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.
-
Constructor Summary
Constructors Modifier Constructor Description private
PluginRegistry()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Field Detail
-
LOGGER
private static final Logger LOGGER
-
INSTANCE
private static volatile PluginRegistry INSTANCE
-
INSTANCE_LOCK
private static final java.lang.Object INSTANCE_LOCK
-
pluginsByCategoryRef
private final 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.
-
pluginsByCategoryByBundleId
private final 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.
-
pluginsByCategoryByPackage
private final 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.
-
-
Method Detail
-
getInstance
public static PluginRegistry getInstance()
Returns the global PluginRegistry instance.- Returns:
- the global PluginRegistry instance.
- Since:
- 2.1
-
clear
public void clear()
Resets the registry to an empty state.
-
getPluginsByCategoryByBundleId
public java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>> getPluginsByCategoryByBundleId()
- Since:
- 2.1
-
loadFromMainClassLoader
public java.util.Map<java.lang.String,java.util.List<PluginType<?>>> loadFromMainClassLoader()
- Since:
- 2.1
-
clearBundlePlugins
public void clearBundlePlugins(long bundleId)
- Since:
- 2.1
-
loadFromBundle
public java.util.Map<java.lang.String,java.util.List<PluginType<?>>> loadFromBundle(long bundleId, java.lang.ClassLoader loader)
- Since:
- 2.1
-
decodeCacheFiles
private java.util.Map<java.lang.String,java.util.List<PluginType<?>>> decodeCacheFiles(java.lang.ClassLoader loader)
-
loadFromPackage
public java.util.Map<java.lang.String,java.util.List<PluginType<?>>> loadFromPackage(java.lang.String pkg)
- Since:
- 2.1
-
-