You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Matt Sicker (Jira)" <ji...@apache.org> on 2019/10/06 18:35:00 UTC

[jira] [Resolved] (LOG4J2-860) Unify plugin builders and plugin factories

     [ https://issues.apache.org/jira/browse/LOG4J2-860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Sicker resolved LOG4J2-860.
--------------------------------
    Resolution: Fixed

This is now supported in master. A related cleanup here would be to replace @PluginBuilderAttribute with @PluginAttribute everywhere, though I believe there's an edge case to consider which is currently commented as a FIXME.

> Unify plugin builders and plugin factories
> ------------------------------------------
>
>                 Key: LOG4J2-860
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-860
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Plugins
>    Affects Versions: 2.2
>            Reporter: Matt Sicker
>            Assignee: Matt Sicker
>            Priority: Major
>             Fix For: 3.0.0
>
>
> Before we can even settle on a preferred way to create plugins reflectively, it would be nice to combine the PluginAttribute and PluginBuilderAttribute annotations. In fact, allowing for flexibility in dependency injection for creating plugins would be better than strictly allowing factory methods or builder classes only. For instance, setter methods could be annotated for injection which allows for further customization.
> Since the ability to reflect on a parameter to get its name wasn't added until Java 1.8 (and alternatives require using bytecode libraries like asm), it would be nice to add some sort of plugin validation to the annotation processor to prevent users from forgetting to specify an attribute name when attached to a parameter instead of a field.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)