Class PluginRegistry
- java.lang.Object
-
- org.apache.logging.log4j.core.config.plugins.util.PluginRegistry
-
public class PluginRegistry extends java.lang.ObjectRegistry singleton for PluginType maps partitioned by source type and then by category names.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPluginRegistry.PluginTestA Test that checks to see if each class is annotated with the 'Plugin' annotation.
-
Field Summary
Fields Modifier and Type Field Description private static PluginRegistryINSTANCEprivate static java.lang.ObjectINSTANCE_LOCKprivate static LoggerLOGGERprivate java.util.concurrent.ConcurrentMap<java.lang.Long,java.util.Map<java.lang.String,java.util.List<PluginType<?>>>>pluginsByCategoryByBundleIdContains 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<?>>>>pluginsByCategoryByPackageContains 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<?>>>>pluginsByCategoryRefContains plugins found in Log4j2Plugins.dat cache files in the main CLASSPATH.
-
Constructor Summary
Constructors Modifier Constructor Description privatePluginRegistry()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Resets the registry to an empty state.voidclearBundlePlugins(long bundleId)private java.util.Map<java.lang.String,java.util.List<PluginType<?>>>decodeCacheFiles(java.lang.ClassLoader loader)static PluginRegistrygetInstance()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
-
-