Class PluginAnnotationFactoryResolversPostProcessor

java.lang.Object
org.apache.logging.log4j.plugins.di.spi.FactoryResolversPostProcessor
org.apache.logging.log4j.plugins.di.resolver.PluginAnnotationFactoryResolversPostProcessor
All Implemented Interfaces:
ConfigurableInstanceFactoryPostProcessor

@Ordered(100) public class PluginAnnotationFactoryResolversPostProcessor extends FactoryResolversPostProcessor
Post-processor that adds support for various plugin-related annotations. These cover injectable keys with a defined Namespace and one of the following types. Note that the generic parameter T may be a plugin class, interface, or a Supplier<T> where plugin factories will be injected rather than plugin instances.
  1. PluginNamespace for a collection of plugin types within a namespace
  2. PluginType<T> for a named or typed plugin within a namespace
  3. Map<String, T> for a map of plugins keyed by name
  4. Stream<T> for a stream of plugins
  5. Set<T> for a set of plugins
  6. List<T> for a list of plugins
  7. Optional<T> for an optional plugin
  8. @PluginElement for configurable children plugin instances
  9. @PluginAttribute for configurable plugin options
  10. @PluginBuilderAttribute for configurable plugin options — in contrast to PluginAttribute, default values for options should be specified in a field which is useful in plugin builder classes
  11. @PluginValue for configurable plugin values — special type of attribute that may have its own dedicated syntax depending on the configuration format in use such as XML
See Also:
  • Constructor Details

    • PluginAnnotationFactoryResolversPostProcessor

      public PluginAnnotationFactoryResolversPostProcessor()