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/09/21 17:42:00 UTC

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

    [ https://issues.apache.org/jira/browse/LOG4J2-860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16935105#comment-16935105 ] 

Matt Sicker commented on LOG4J2-860:
------------------------------------

I do have a TODO comment in the code to unify the annotations and make parameter name reflection an option for default values. This will be a 3.0 change.

> 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
>            Priority: Major
>
> 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)